Re:UnConj
by dpritchett on Tuesday November 22, 2011 @12:33PM
(#3266426)
So that's where core.logic came from? I just went and bought TRS so that I can figure out where you're coming from with that.
Re:UnConj
by swannodette on Tuesday November 22, 2011 @12:35PM
(#3266435)
Yes core.logic is an implementation of miniKanren. Soon as Dan Friedman and William Byrd confirm my approach to fair conjunction is solid, I plan on integrating fairKanren to be followed by cKanren which will bring powerful constraint solving facilities into Clojure.
Re:UnConj
by cgrand-net on Tuesday November 22, 2011 @01:09PM
(#3266593)
Do you mean fair conjunction like in "Backtracking, Interleaving, and Terminating Monad Transformers" or something else/new?
Re:UnConj
by swannodette on Tuesday November 22, 2011 @01:32PM
(#3266707)
I don't think so though I'm not totally sure. That paper isn't really about logic programming in general - no vars, no unification.
Re:UnConj
by cgrand-net on Friday November 25, 2011 @04:34PM
(#3278305)
I think you're right and I had the stupids the other day: what this paper describes is simply your conde (né condi). No?
Having Dan and Will around to bounce ideas off at the Clojure/conj was simply incredible. One thing I've disliked about the miniKanren system is that many finite programs do not terminate depending on where the recursion occurs. Dan & Will have been working on that problem for 8 years.
Being the unprincipled fool that I am I decided to tackle this problem head on. Over the past weekend I implemented a version of miniKanren that not only terminates now for an incredible number of programs (it implements fair conjunction), but it does so without sacrificing miniKanren's excellent sequential performance when you so desire it.
So for me, yes modern programs should be written in Lisp. We don't even know what modern programs should look like yet :)