Guest User

Untitled

a guest
May 27th, 2018
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.51 KB | None | 0 0
  1. (define-syntax letstar
  2. (syntax-rules ()
  3. ((_ () body ...)
  4. '(let ()
  5. body ...))
  6. ((_ ((var init)) body ...)
  7. (let ((var init))
  8. body ...))
  9. ((_ ((var1 init1)(var2 init2) ...) body ...)
  10. (let ((var1 init1))
  11. (letstar ((var2 init2) ...) body ...)))))
  12.  
  13. (letstar ()
  14. (display 'a))
  15. ;; (let () (display 'a))
  16.  
  17. (letstar ((x 1))
  18. (display 'a)
  19. (display x))
  20. ;; a1#<undef>
  21.  
  22. (letstar ((x 1)
  23. (y 2)
  24. (z (+ x y)))
  25. (print z))
  26. ;; 3
  27. ;; #<undef>
Add Comment
Please, Sign In to add comment