为什么miniKanren的名字总是以“o”结尾?
所有迷你看人关系都以字母o
结尾。这样做的动机是什么? 我看到 Clojure core.logic 库也执行此操作。
All miniKanren relations end with the letter o
. What is the motivation for this?
I see that the Clojure core.logic library also does this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在《理性的阴谋家》的序言中,他们是这样解释的:
因此,它是表示关系的符号。
In the Preface of The Reasoned Schemer, they explain it thus:
So, it's a notation to denote a relation.
这是因为 The Reasoned Schemer 的作者希望 miniKanren 关系的表示法能够唤起以
?
结尾的普通 Scheme 谓词(例如,null?,
配对?
)按照惯例。上标 o,如果你足够仔细(并且以前听过这个故事),看起来就像是修改后的?
。It's because the authors of The Reasoned Schemer wanted the notation of miniKanren relations to be evocative of ordinary Scheme predicates which end in
?
(e.g.,null?
,pair?
) by convention. The superscript o, if you squint enough (and have heard this story before), looks like a modified?
.