Fork me on GitHub
#core-logic
<
2020-03-11
>
niveauverleih13:03:11

In the reasoned Schemer and core logic primer succeed and fail are called constants, whereas the source code defines them as functions. I'm confused.

hiredman15:03:42

They are goals that don't depend on any passed in values, so constant in that sense

rickmoynihan16:03:58

@nick.romer all goals are functions iirc

rickmoynihan16:03:09

You just use them as if they were constants at the minikanren/core.logic language level; but underneath they’re implemented as functions.

rickmoynihan16:03:47

internally core logic will apply values to them as with any other goal. They’ll just always succeed or fail.

niveauverleih17:03:27

I see. Thank you both!