an attempt to implement miniKanren and microKanren in Python
Python
Switch branches/tags
Nothing to show
Clone or download
Latest commit a333c19 Jul 16, 2014

README.md

pykanren

an attempt to implement miniKanren and microKanren in Python

I was working through the original miniKanren[1] and The Reasoned Schemer, occasionally checking stuff in chapter 3 of William Byrd's PhD thesis[2], Clojure's core.logic[3] and newer miniKanren[4]. Also helpful was Ambrose Bonnaire-Sergeant's talk "Introduction to Logic Programming with Clojure"[5].

Now with the existence of microKanren[6][7] I'm trying my hand at implementing that.

[1] http://kanren.cvs.sourceforge.net/kanren/kanren/mini/mk.scm
[2] http://gradworks.umi.com/3380156.pdf
[3] https://github.com/clojure/core.logic
[4] https://github.com/webyrd/miniKanren
[5] http://blip.tv/clojure/ambrose-bonnaire-sergeant-introduction-to-logic-programming-with-clojure-5936196
[6] http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf
[7] https://github.com/jasonhemann/microKanren/blob/master/microKanren.scm