4

In the reasoned schemer, they name standard lisp functions with an 'o' on the end, eg conso and appendo.

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

Flux
  • 5,866
  • 4
  • 24
  • 62
hawkeye
  • 31,052
  • 27
  • 133
  • 271
  • 3
    Because they are not the same thing. How would you use `cons` and `conso` in the same scope? This is just the 'scheme' the authors of kanren decided on. – leppie Jun 25 '15 at 10:58
  • They are not the standard Lisp functions, and superscripting isn't widely supported. – molbdnilo Jun 25 '15 at 15:21

1 Answers1

3

From page 2 of http://www.cs.indiana.edu/~eholk/papers/sfp2012.pdf:

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.
soegaard
  • 28,660
  • 4
  • 50
  • 97