在方案的gensym
下,我正在尝试使用larceny -r7r6
程序,因为它明显定义为in the documentation。
调用它时(通过键入 import copy from copy
在文件或控制台中),我收到一条错误消息,指出gensym是一个未定义的全局变量。
我忘了导入还是不可用?我可以在任何地方找到新名称或实现吗?
答案 0 :(得分:1)
gensym
程序既不在R6RS或R7RS中定义。因此,如果要在R6RS / R7RS环境中使用它,则需要单独导入它:
(import (primitives gensym))
最好使用generate-temporaries
过程,该过程在(rnrs)
中定义,返回临时标识符列表。您可以使用它来生成像这样的新符号
(apply syntax->datum (generate-temporaries '(a)))
这将返回一个列表,其中只包含一个符号作为其元素。