0

larceny r7r6for 方案下,我正在尝试使用该gensym过程,因为它显然在文档中定义。

调用它时(在文件中或通过键入在控制台中larceny -r7r6),我收到一条错误消息,指出 gensym 是一个未定义的全局变量。

我忘记了导入还是不可用?有没有我可以在任何地方找到的新名称或实现?

4

1 回答 1

1

gensymR6RS 或 R7RS 均未定义程序。所以如果要在R6RS/R7RS环境中使用,需要单独导入,如下:

(import (primitives gensym))

使用在返回临时标识符列表中generate-temporaries定义的过程可能会更好。(rnrs)您可以使用它来生成像这样的新符号

(apply syntax->datum (generate-temporaries '(a)))

这将返回一个列表,其中仅包含一个符号作为其元素。

于 2018-05-03T09:28:53.450 回答