Fork me on GitHub
#core-logic
<
2018-10-29
>
folcon01:10:25

I’m somewhat surprised by how different the syntax is between core.logic and what’s in the reasoned schemer, it’s taking me a while to find the exact matching functions. For example, I spent a while I thinking that conj2 was conjo right up until this happened:

(l/run* [q]
  (l/conjo u# (l/== 'corn q)))
=> (_0)
eventually I worked out it was just:
(l/run* [q]
  (l/and* [u# (l/== 'corn q)]))
=> ()
But this stuff isn’t obvious and so far googling hasn’t shown that those two functions match. (Assuming that I’m right about that…)

folcon01:10:21

I’m recording all the gotcha’s that I’m finding, but not really sure if it’s really of interest seeing as it’s not really been written anywhere…