summaryrefslogtreecommitdiffstats
path: root/stdlib/stack.ml
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>1995-05-04 10:15:53 +0000
committerXavier Leroy <xavier.leroy@inria.fr>1995-05-04 10:15:53 +0000
commit61bd8ace6bdb2652f4d51d64e3239a7105f56c26 (patch)
treee8b957df0957c1b483d41d68973824e280445548 /stdlib/stack.ml
parent8f9ea2a7b886e3e0a5cfd76b11fe79d083a7f20c (diff)
Passage a la version bootstrappee (franchissement du Rubicon)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'stdlib/stack.ml')
-rw-r--r--stdlib/stack.ml18
1 files changed, 18 insertions, 0 deletions
diff --git a/stdlib/stack.ml b/stdlib/stack.ml
new file mode 100644
index 000000000..8b1710cdd
--- /dev/null
+++ b/stdlib/stack.ml
@@ -0,0 +1,18 @@
+type 'a t = { mutable c : 'a list }
+
+exception Empty
+
+let new () = { c = [] }
+
+let clear s = s.c <- []
+
+let push x s = s.c <- x :: s.c
+
+let pop s =
+ match s.c with
+ hd::tl -> s.c <- tl; hd
+ | [] -> raise Empty
+
+let length s = List.length s.c
+
+let iter f s = List.iter f s.c