1. Claire E. Alvis, Jeremiah J. Willcock, Kyle M. Carter, William E. Byrd & Daniel P. Friedman (2011): cKanren: miniKanren with Constraints. Scheme Workshop 11.
  2. Bernd Braßel, Sebastian Fischer & Frank Huch (2008): Declaring Numbers. Electronic Notes in Theoretical Computer Science 216, pp. 111–124. Available at
  3. William E. Byrd & Daniel P. Friedman (2007): αKanren: A Fresh Name in Nominal Logic Programming. In: Proceedings of Scheme Workshop 07, Université Laval Technical Report DIUL-RT-0701, pp. 79–90 (see also \voidb@x for improvements).
  4. William E. Byrd, Eric Holk & Daniel P. Friedman (2012): miniKanren, live and untagged. In: Proceedings of Scheme Workshop 12. ACM. Available at
  5. Keith L. Clark (1978): Negation as Failure. In: Logic and Data Bases. Springer Science LNCS, pp. 293–322. Available at
  6. Hubert Comon (1994): Constraints in Term Algebras (Short Survey). In: Algebraic Methodology and Software Technology (AMAST'93). Springer Science LNCS, pp. 97–108. Available at
  7. Hubert Comon, Mehmet Dincbas, Jean-Pierre Jouannaud & Claude Kirchner (1999): A Methodological View of Constraint Solving. Constraints 4(4), pp. 337–361. Available at
  8. Hubert Comon & Claude Kirchner (2001): Constraint Solving on Terms. In: Constraints in Computational Logics. Springer Science LNCS, pp. 47–103. Available at
  9. Ryan Culpepper (2012): Fortifying macros. Journal of Functional Programming 22(4-5), pp. 439–476. Available at
  10. Matthew Flatt & PLT (2010): Reference: Racket. Technical Report PLT-TR-2010-1. PLT Design Inc..
  11. Andreas Fordan (1999): Projection in Constraint Logic Programming. Ios Press.
  12. Thom Fruhwirth (2009): Constraint Handling Rules. Cambridge University Press (CUP). Available at
  13. Jason Hemann, Daniel P. Friedman, William E. Byrd & Matthew Might (2016): A small embedding of logic programming with a simple complete search. In: Proceedings of DLS 16. ACM. Available at
  14. Ralf Hinze (2000): Deriving backtracking monad transformers. In: Proceedings of ICFP 00. ACM. Available at
  15. Ralf Hinze (2001): Prolog's control constructs in a functional setting Axioms and implementation. International Journal of Foundations of Computer Science 12(02), pp. 125–170, doi:10.1142/S0129054101000436. Available at
  16. Serge Le Huitouze (1990): A new data structure for implementing extensions to Prolog. In: Programming Language Implementation and Logic Programming. Springer Science LNCS, pp. 136–150. Available at
  17. J. Jaffar & J.-L. Lassez (1987): Constraint logic programming. In: Proceedings of POPL 87. ACM. Available at
  18. Joxan Jaffar, Michael Maher, Kim Marriott & Peter Stuckey (1998): The semantics of constraint logic programs. The Journal of Logic Programming 37(1-3), pp. 1–46. Available at
  19. Joxan Jaffar & Michael J. Maher (1994): Constraint logic programming: a survey. The Journal of Logic Programming 19-20, pp. 503–581. Available at
  20. Joxan Jaffar, Michael J. Maher, Peter J. Stuckey & Roland H. C. Yap (1993): Projecting CLP(R) constraints. New Gener Comput 11(3-4), pp. 449–469. Available at
  21. Andrew W. Keep, Michael D. Adams, Lindsey Kuper, William E. Byrd & Daniel P. Friedman (2009): A Pattern-matcher for miniKanren -or- How to Get into Trouble with CPS Macros. In: Proceedings of Scheme Workshop 09, Cal Poly Technical Report CPSLO-CSC-09-03, pp. 37–45.
  22. Oleg Kiselyov (2006): The taste of logic programming. Available at
  23. Oleg Kiselyov, William E. Byrd, Daniel P. Friedman & Chung-chieh Shan: Pure, Declarative, and Constructive Arithmetic Relations (Declarative Pearl). In: Functional and Logic Programming. Springer Science LNCS, pp. 64–80. Available at
  24. Oleg Kiselyov, Chung-chieh Shan, Daniel P. Friedman & Amr Sabry (2005): Backtracking, interleaving, and terminating monad transformers: (functional pearl). In: Proceedings of ICFP 05 40. ACM, pp. 192–203. Available at
  25. Ramana Kumar (2010): Mechanising Aspects of miniKanren in HOL. Australian National University. Bachelors thesis.
  26. J. W. Lloyd & J. C. Shepherdson (1991): Partial evaluation in logic programming. The Journal of Logic Programming 11(3-4), pp. 217–242. Available at
  27. Michael J. Maher (1993): A Logic Programming View of CLP. In: Proceedings of ICLP 93. MIT Press, pp. 737–753.
  28. Joseph P. Near, William E. Byrd & Daniel P. Friedman (2008): \voidb@x αleanT-.1667em-.1667emA-.1667emP: A Declarative Theorem Prover for First-Order Classical Logic. In: Proceedings of ICLP 08, pp. 238–252. Available at
  29. David Nolen (2016): core.logic.
  30. Tom Schrijvers, Peter Stuckey & Philip Wadler (2009): Monadic constraint programming. Journal of Functional Programming 19(06), pp. 663. Available at
  31. J. M. Spivey & Silvija Seres (1999): Embedding Prolog in Haskell. In: E. Meier: Proceedings of Haskell Workshop 99, Utrecht University Technical Report UU-CS-1999-28. Available at

Comments and questions to:
For website issues: