Macro for letrec* in R5RS

Because letrec* is best letrec!

;; Makes letrec* available in R5RS
(define-syntax letrec*
  (syntax-rules ()
    ((_ ((var expr) ...) body ...)
     (let* ((var #f) ...)
       (set! var expr)
       ...
       body ...))))

Why does this matter?

Downloads