为什么 'The Reasoned Schemer' 在其函数的末尾添加一个 'o'?

Why does 'The Reasoned Schemer' add an 'o' to the end of its functions?

在 reasoned schemer 中,他们命名标准的 lisp 函数并在末尾加上 'o',例如 consoappendo

我的问题是:为什么'The Reasoned Schemer'在其函数的末尾添加一个'o'?

来自 http://www.cs.indiana.edu/~eholk/papers/sfp2012.pdf 的第 2 页:

It is conventional in Scheme for the names of predicates to
end with the ‘?’ character. We have therefore chosen to end the
names of miniKanren goals with a superscript o, which is meant
to resemble the top of a ?. The superscript e in conde
stands for
‘every,’ since every conde clause may contribute answers.