summaryrefslogtreecommitdiff
path: root/week3/camil/StdStack.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'week3/camil/StdStack.dcl')
-rw-r--r--week3/camil/StdStack.dcl13
1 files changed, 13 insertions, 0 deletions
diff --git a/week3/camil/StdStack.dcl b/week3/camil/StdStack.dcl
new file mode 100644
index 0000000..8c861a1
--- /dev/null
+++ b/week3/camil/StdStack.dcl
@@ -0,0 +1,13 @@
+definition module StdStack
+
+:: Stack a
+
+newStack :: Stack a // lege stack
+push :: a (Stack a) -> Stack a // plaats nieuw element bovenop de stack
+pushes :: [a] (Stack a) -> Stack a // plaats elementen achtereenvolgens bovenop stack
+pop :: (Stack a) -> Stack a // haal top element van stack
+popn :: Int (Stack a) -> Stack a // haal bovenste $n$ top elementen van stack
+top :: (Stack a) -> a // geef top element van stack
+topn :: Int (Stack a) -> [a] // geef bovenste $n$ top elementen van stack
+elements :: (Stack a) -> [a] // geef alle elementen van stack
+count :: (Stack a) -> Int // tel aantal elementen in stack