
ΜKanren: A Minimal Functional Core for Relational Programming (2013) [pdf] - bshanks
http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf
======
_halgari
It's an excellent paper. The way it describes logic programs as a stream of
environments is very general. I've taken the basic concepts in this paper and
implemented them with Clojure lazy seqs, CSP
([https://github.com/halgari/async-mu-
kanren/blob/master/src/a...](https://github.com/halgari/async-mu-
kanren/blob/master/src/async_mu_kanren/core.clj)), and transducers. Monads (as
described in this paper) probably have the fewest drawbacks, but the technique
can be implemented many ways.

~~~
xeqi
Did you ever explore if a channel can feed back into itself?
[https://github.com/halgari/async-mu-
kanren/blob/master/src/a...](https://github.com/halgari/async-mu-
kanren/blob/master/src/async_mu_kanren/core.clj#L189)

