下面的Guile方案代码是做什么的?Guile计划 - 引用期限?
(eq? y '.)
(cons x '.)
该代码在MzScheme中无效,是否存在跨计划实现的便携式等价物?
我正试图移植这个由别人写的代码。 Guile似乎回应'。与#{。}#,但我不知道它是什么意思或如何在另一个计划中做到这一点。
下面的Guile方案代码是做什么的?Guile计划 - 引用期限?
(eq? y '.)
(cons x '.)
该代码在MzScheme中无效,是否存在跨计划实现的便携式等价物?
我正试图移植这个由别人写的代码。 Guile似乎回应'。与#{。}#,但我不知道它是什么意思或如何在另一个计划中做到这一点。
好吧,似乎'。在Guile中是(string-> symbol“。”)的有效语法,而MzScheme至少需要|。|作为一个符号的时期。
我很惊讶任何Scheme系统都会接受点符号。我的建议是使用另一个符号(我相信你知道)这个点是代表一对的简写,即使你可以找到一个可以代码的方案,你也可能会混淆任何不幸的人真正阅读你的代码的任务。
#{.}#
是Guile定义符号的具体方式是包含Scheme的一些分隔符。 http://www.gnu.org/software/guile/manual/html_node/Symbol-Read-Syntax.html
对于其他方言方言,应该有另一种方式。
符号可以包含在字符串中有效的_any_字符序列,并且您可以使用`string-> symbol`将任何字符串插入到符号中。但是,您可以将这些符号作为裸标记写入,而不使用管道或反斜杠转义,这是一个相当小的子集。 – 2014-02-03 02:45:07