aboutsummaryrefslogtreecommitdiff
path: root/data/stack.scm
diff options
context:
space:
mode:
Diffstat (limited to 'data/stack.scm')
-rw-r--r--data/stack.scm24
1 files changed, 0 insertions, 24 deletions
diff --git a/data/stack.scm b/data/stack.scm
deleted file mode 100644
index d470394..0000000
--- a/data/stack.scm
+++ /dev/null
@@ -1,24 +0,0 @@
-(define-module (data stack)
- #:export (pop peek push)
- #:use-module (control monad)
- #:use-module (control monad state))
-
-;;; Simple stateful stack module for showing the state monad
-;;; in action. These functions assume that they are in a
-;;; (state list) monad. But dynamic types!
-
-;;; TODO test these for empty stack
-
-(define (pop)
- (do st <- (get)
- let top = (car st)
- (put (cdr st))
- (return-state top)))
-
-(define (peek)
- (do st <- (get)
- (return-state (car st))))
-
-(define (push v)
- (do st <- (get)
- (put (cons v st))))