The Lambda Lab
/
projects
/
scheme.forth.jl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implemented let*
[scheme.forth.jl.git]
/
src
/
scheme-library.scm
diff --git
a/src/scheme-library.scm
b/src/scheme-library.scm
index
2c6146e
..
a420c70
100644
(file)
--- a/
src/scheme-library.scm
+++ b/
src/scheme-library.scm
@@
-253,6
+253,14
@@
`((lambda ,(map (lambda (x) (car x)) args)
,@body) ,@(map (lambda (x) (cadr x)) args)))
`((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)
; while
(define-macro (while condition . body)