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
Improved let macro hygiene.
[scheme.forth.jl.git]
/
src
/
scheme-library.scm
diff --git
a/src/scheme-library.scm
b/src/scheme-library.scm
index
fb76f3a
..
73e8a4e
100644
(file)
--- a/
src/scheme-library.scm
+++ b/
src/scheme-library.scm
@@
-239,19
+239,9
@@
; let
; let
-(define (let-vars args)
- (if (null? args)
- '()
- (cons (caar args) (let-vars (cdr args)))))
-
-(define (let-inits args)
- (if (null? args)
- '()
- (cons (cadar args) (let-inits (cdr args)))))
-
(define-macro (let args . body)
(define-macro (let args . body)
- `((lambda ,(
let-vars
args)
- ,@body) ,@(
let-inits
args)))
+ `((lambda ,(
map (lambda (x) (car x))
args)
+ ,@body) ,@(
map (lambda (x) (cadr x))
args)))
; while
; while