为啥 miniKanren 的名字总是以 `o` 结尾?
Posted
技术标签:
【中文标题】为啥 miniKanren 的名字总是以 `o` 结尾?【英文标题】:Why do miniKanren names always end with `o`?为什么 miniKanren 的名字总是以 `o` 结尾? 【发布时间】:2012-02-28 03:51:08 【问题描述】:所有 miniKanren 关系都以字母o
结尾。这样做的动机是什么?
我看到 Clojure core.logic 库也这样做。
【问题讨论】:
【参考方案1】:在理性的计划者的序言中,他们是这样解释的:
关系,一个返回目标作为其值的函数,它的名称以上标“o”结尾(例如,caro 和 nullo)。
所以,它是一种表示关系的符号。
【讨论】:
【参考方案2】:这是因为 The Reasoned Schemer 的作者希望 miniKanren 关系的符号能够唤起按照惯例以 ?
结尾的普通 Scheme 谓词(例如,null?
、pair?
) .上标 o,如果你足够眯眼(并且之前听说过这个故事),看起来就像修改后的 ?
。
【讨论】:
以上是关于为啥 miniKanren 的名字总是以 `o` 结尾?的主要内容,如果未能解决你的问题,请参考以下文章