我想要一个创建新标识符的宏,例如
(new-name first second) => first-second
可用于定义新的顶级绑定(bind)
(define-syntax define-generic
(syntax-rules ()
((define-generic (name a b ...))
(begin
(define (new-name name data) 15) ; <= create a new binding
(define name (lambda (a b ...)
(add (new-name name-data) 7)))))) ; <= use new identifier
如果我设置! “new-name”绑定(bind)的值,那么它应该会影响新创建的过程。
最佳答案
就在几天前,Reddit 上对此进行了讨论。可能值得研究发布的实现以获取更多详细信息 - http://www.reddit.com/r/scheme/comments/f54dk/i_wrote_an_hygienic_definemacro_that_can_capture/
关于macros - 使用宏创建新标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4828109/