所有 miniKanren 关系都以字母结尾o
。这样做的动机是什么?我看到 Clojure core.logic 库也这样做。
问问题
600 次
2 回答
12
在The Reasoned Schemer的序言中,他们是这样解释的:
一个关系,一个返回一个目标作为它的值的函数,它的名字以一个上标' o '结束(例如,car o和null o)。
因此,它是表示关系的符号。
于 2012-02-06T18:48:08.620 回答
5
这是因为The Reasoned Schemer的作者希望 miniKanren 关系的表示法能够唤起普通的 Scheme 谓词,这些谓词按照惯例以?
(例如,,null?
)结尾pair?
。上标o,如果你足够眯眼(并且之前听说过这个故事),看起来就像一个修改过的?
.
于 2012-02-08T17:51:05.693 回答