Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define-syntax define-closures
- (syntax-rules ()
- [(_ ([var value] ...) [name body] ...)
- (define-values (name ...)
- (let ([var value] ...)
- (letrec ([name body] ...)
- (values name ...))))]))
- (define-closures ([stack '()])
- [push (lambda (x)
- (set! stack (cons x stack)))]
- [pop (lambda ()
- (let ([x (car stack)])
- (set! stack (cdr stack))
- x))]
- [init (lambda ()
- (set! stack '()))])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement