Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define-syntax letstar
- (syntax-rules ()
- ((_ () body ...)
- '(let ()
- body ...))
- ((_ ((var init)) body ...)
- (let ((var init))
- body ...))
- ((_ ((var1 init1)(var2 init2) ...) body ...)
- (let ((var1 init1))
- (letstar ((var2 init2) ...) body ...)))))
- (letstar ()
- (display 'a))
- ;; (let () (display 'a))
- (letstar ((x 1))
- (display 'a)
- (display x))
- ;; a1#<undef>
- (letstar ((x 1)
- (y 2)
- (z (+ x y)))
- (print z))
- ;; 3
- ;; #<undef>
Add Comment
Please, Sign In to add comment