R7RSマクロ1 Schemeのマクロ
R7RSのマクロ syntax-rules
(define-syntax my-let
(syntax-rules ()
((_ ((name value) ... ) body ... )
((lambda (name ... ) body ... ) value ... ))))
・高水準マクロ(lisp評価を使わない、別言語 )
R6RS(一つ前の仕様) 、 処理系依存のマクロ
syntax-case , implicit-renaming , explicit-renaming , syntactic-lambda など
(define-syntax my-let
(ir-macro-transformer
(lambda (form rename compare)
(let ((bindings (cadr form))
(bodies (cddr form)))
`((lambda ,(map car bindings) ,@bodies) ,@(map cadr bindings))))))