所有miniKanren关系都以字母o
结尾。这是什么动机?
我看到Clojure core.logic库也做到了这一点。
答案 0 :(得分:11)
在 The Reasoned Schemer 的前言中,他们解释了这一点:
一个关系,一个返回一个目标作为其值的函数,以一个上标“ o ”结束其名称(例如, car o 和 null o )。
因此,它是表示关系的符号。
答案 1 :(得分:5)
这是因为 The Reasoned Schemer 的作者希望miniKanren关系的符号能够唤起以?
结尾的普通Scheme谓词(例如null?
,{{ 1}})按惯例。上标 o ,如果你眯眼(并且之前听过这个故事),看起来像是修改过的pair?
。