Implemented let*
[scheme.forth.jl.git] / src / scheme-library.scm
index 2c6146e..a420c70 100644 (file)
               `((lambda ,(map (lambda (x) (car x)) args)
                  ,@body) ,@(map (lambda (x) (cadr x)) args)))
 
+; let*
+
+(define-macro (let* args . body)
+              (if (null? args)
+                `(let () ,@body)
+                `(let (,(car args))
+                   (let* ,(cdr args) ,@body))))
+
 ; while
 
 (define-macro (while condition . body)