aboutsummaryrefslogtreecommitdiff
path: root/data/optional.scm
diff options
context:
space:
mode:
Diffstat (limited to 'data/optional.scm')
-rw-r--r--data/optional.scm38
1 files changed, 2 insertions, 36 deletions
diff --git a/data/optional.scm b/data/optional.scm
index 462c01b..a1968f0 100644
--- a/data/optional.scm
+++ b/data/optional.scm
@@ -4,9 +4,8 @@
#:use-module (control monad)
#:export (nothing just
nothing? just?
- return-optional
- do <-)
- ;; #:re-export (>>=)
+ return-optional)
+ #:re-export (>>=)
)
(define-class <optional> ()
@@ -46,36 +45,3 @@
(define-method (mappend (a <optional>) (b <optional>))
(match a
(($ ))))
-
-
-(define-syntax do
- (syntax-rules (<- let =)
- ((_ let var = val rest ...)
- (let ((var val)) (do rest ...)))
- ((_ ptrn <- val rest ...)
- (<- ptrn val rest ...))
- ((_ a) a)
- ((_ token rest ...)
- (begin token (do rest ...)))))
-
-(define-syntax <-
- (syntax-rules (just writer)
- ((_ (just var) val rest ...)
- (>>= val (lambda (var) rest ...)))
- ((_ (writer var) val rest ...)
- (>>= val (lambda (var) rest ...))))
-
-
- #;
- (lambda (x)
- (syntax-case x (just writer)
- ((_ (just var) val rest ...)
- #'(>>= val (lambda (var) rest ...)))
- ((_ (writer var) val rest ...)
- #'(>>= val (lambda (var) rest ...)))
- #;
- ((_ (left var) val rest ...) ;
- #'(>>= val (lambda (var) rest ...)))
- #;
- ((_ (right var) val rest ...) ;
- #'(>>= val (lambda (var) rest ...))))))