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

如何使用define语法在Scheme中编写let实现,scheme,r5rs,Scheme,R5rs,我想我在概念上已经有了大致的想法,但语法显然是错误的 (define-syntax mylet (syntax-rules ( ) ((mylet definitions evaluation) ((lambda (map car definitions) evaluations) (map cdar definitions))))) 这比普通的Lisp更直观。真正地我们可以用椭圆来表示 (define-syntax mylet (syntax-rules ( )

我想我在概念上已经有了大致的想法,但语法显然是错误的

(define-syntax mylet
  (syntax-rules ( )
    ((mylet definitions evaluation)
     ((lambda (map car definitions) evaluations) (map cdar definitions)))))

这比普通的Lisp更直观。真正地我们可以用椭圆来表示

(define-syntax mylet
  (syntax-rules ( )
    ((mylet ((name val) ...) body ...)
     ((lambda (name ...) body ...) val ...))))