如何使用 define-syntax 在 Scheme 中编写 let 实现
How to write the let implementation in Scheme using define-syntax
我想我在概念上已经大致了解了这里,但语法显然是错误的
(define-syntax mylet
(syntax-rules ( )
((mylet definitions evaluation)
((lambda (map car definitions) evaluations) (map cdar definitions)))))
这比 Common Lisp 直观得多。真的。我们可以为此使用省略号。
(define-syntax mylet
(syntax-rules ( )
((mylet ((name val) ...) body ...)
((lambda (name ...) body ...) val ...))))
我想我在概念上已经大致了解了这里,但语法显然是错误的
(define-syntax mylet
(syntax-rules ( )
((mylet definitions evaluation)
((lambda (map car definitions) evaluations) (map cdar definitions)))))
这比 Common Lisp 直观得多。真的。我们可以为此使用省略号。
(define-syntax mylet
(syntax-rules ( )
((mylet ((name val) ...) body ...)
((lambda (name ...) body ...) val ...))))