Macros R6RS计划的好处是什么;我们生产可变变压器吗?

Macros R6RS计划的好处是什么;我们生产可变变压器吗?,macros,scheme,Macros,Scheme,在查看R6RS中的语法case部分时,我看到了关键字make variable transformer,它被描述为一个标识符宏。给出的示例非常少,我并不是在探究为什么需要它,或者什么用例需要它。事实证明,找到更多使用它的例子也很困难。想必它使某种形式的语法转换成为可能,或者更优雅?在阅读我的文章后,如下所示: 如果mac是语法转换器 (mac-foo(bar-baz))将用转换的结果替换整个s-expr这可能会导致任何内容,比如(SOMETHING),而(foo-mac-bar)将只替换mac,

在查看R6RS中的
语法case
部分时,我看到了关键字
make variable transformer
,它被描述为一个标识符宏。给出的示例非常少,我并不是在探究为什么需要它,或者什么用例需要它。事实证明,找到更多使用它的例子也很困难。想必它使某种形式的语法转换成为可能,或者更优雅?

在阅读我的文章后,如下所示:

如果
mac
是语法转换器

(mac-foo(bar-baz))
将用转换的结果替换整个s-expr这可能会导致任何内容,比如
(SOMETHING)
,而
(foo-mac-bar)
将只替换
mac
,从而产生
(foo-SOMETHING-bar)

通常
(set!mac'foo)
会发出错误信号,似乎变换器不能出现在set表达式的左侧,但是如果
mac
是变量变换器
(set!mac'foo)
会用整个s-expr调用
mac


我的直觉告诉我,如果开始用宏实现数据类型,这将非常有用。

我在搜索makevariabletransformer的文档时遇到了这个问题。这里有一个问题,我有,使变量变压器是为

杰克交易