下面的 Guile 方案代码有什么作用?
(eq? y '.)
(cons x '.)
该代码在 MzScheme 中无效,是否存在跨方案实现的可移植等效项?
我正在尝试移植其他人编写的代码。Guile 似乎对 '. 使用#{.}#,但我不确定它的含义或如何在另一个方案中执行此操作。
好吧,看来'. 是 Guile 中 (string->symbol ".") 的有效语法,而 MzScheme 至少需要 |.| 期间作为符号。
#{.}#
是 Guile 定义符号的特定方式,包含 Scheme 的一些分隔符。
http://www.gnu.org/software/guile/manual/html_node/Symbol-Read-Syntax.html
对于其他Scheme方言,应该有另一种方式。
我很惊讶任何 Scheme 系统都会接受点符号。我的建议是使用另一个符号(我相信你知道)点是表示一对的简写,即使你能找到一个可以使用你的代码的方案,你也可能会混淆任何不幸的人实际阅读代码的任务。