如何使用定义语法在 Scheme 中编写 let 实现



我想我在概念上有一个大致的想法,但语法明显错误

(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 ...))))

最新更新