1. Claire E. Alvis, Jeremiah J. Willcock, Kyle M. Carter, William E. Byrd & Daniel P. Friedman (2011): cKanren: miniKanren with Constraints. In: Proceedings of the 2011 Workshop on Scheme and Functional Programming (Scheme '11)., doi:
  2. Franz Baader & Wayne Snyder (2001): Handbook of Automated Reasoning. Elsevier and MIT Press, doi:10.1016/B978-044450813-3/50010-2.
  3. H. P. Barendregt (1992): Handbook of Logic in Computer Science (Vol. 2). Oxford University Press, Inc., New York, NY, USA, doi: Available at
  4. David C. Bender, Lindsey Kuper, William E. Byrd & Daniel P. Friedman (2009): Efficient Representations for Triangular Substitutions: a Comparison in miniKanren. Unpublished manuscript.
  5. William E. Byrd (2009): Relational Programming in Minikanren: Techniques, Applications, and Implementations, Indianapolis, IN, USA, doi: AAI3380156.
  6. William E. Byrd & Michael Ballantyne (2017): Personal communications.
  7. William E. Byrd, Eric Holk & Daniel P. Friedman (2012): miniKanren, Live and Untagged: Quine Generation via Relational Interpreters (Programming Pearl). In: Proceedings of the 2012 Annual Workshop on Scheme and Functional Programming, Scheme '12. ACM, New York, NY, USA, pp. 8–29, doi:10.1145/2661103.2661105.
  8. Manuel M. T. Chakravarty, Gabriel C. Ditu & Roman Leshchinskiy (2009): Instant Generics: Fast and Easy, doi: Available at
  9. Olivier Danvy (1998): Functional Unparsing. Journal of Functional Programming 8(6), doi:10.1017/S0956796898003104. Available at
  10. Daniel Fridlender & Mia Indrika (2000): Do we need dependent types?. Journal of Functional Programming 10(4), doi:10.1017/S0956796800003658. Available at
  11. Daniel P. Friedman, William E. Byrd & Oleg Kiselyov (2005): The Reasoned Schemer. The MIT Press.
  12. Jeremy Gibbons (2007): Datatype-generic Programming. In: Proceedings of the 2006 International Conference on Datatype-generic Programming, SSDGP'06. Springer-Verlag, Berlin, Heidelberg, pp. 1–71, doi:10.1007/978-3-540-76786-2_1. Available at
  13. M. Hanus, H. Kuchen & J.J. Moreno-Navarro (1995): Curry: A Truly Functional Logic Language. In: Proc. ILPS'95 Workshop on Visions for the Future of Logic Programming, pp. 95–107, doi:
  14. Jason Hemann & Daniel P. Friedman (2013): μKanren: A Minimal Core for Relational Programming. In: Proceedings of the 2013 Workshop on Scheme and Functional Programming (Scheme'13). Available at
  15. 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 the 12th Symposium on Dynamic Languages, DLS 2016. ACM, New York, NY, USA, pp. 96–107, doi:10.1145/2989225.2989230.
  16. Oleg Kiselyov, William E. Byrd, Daniel P. Friedman & Chung-Chieh Shan (2008): Pure, Declarative, and Constructive Arithmetic Relations (Declarative Pearl). In: Proceedings of the 9th International Conference on Functional and Logic Programming, FLOPS'08. Springer-Verlag, Berlin, Heidelberg, pp. 64–80, doi:10.1007/978-3-540-78969-7_7. Available at
  17. Oleg Kiselyov, Chung-chieh Shan, Daniel P. Friedman & Amr Sabry (2005): Backtracking, Interleaving, and Terminating Monad Transformers: (Functional Pearl). SIGPLAN Not. 40(9), pp. 192–203, doi:10.1145/1090189.1086390.
  18. Claessen Koen & Peter Ljungl+.2222emof (2001): Typed Logical Variables in Haskell. In: Electronic Notices in Theoretical Computer Science 41, doi:10.1016/S1571-0661(05)80544-4.
  19. Ramana Kumar (2010): Mechanising Aspects of miniKanren in HOL. Bachelor Thesis, The Australian National University.
  20. Tim Sheard & Simon Peyton Jones (2002): Template Meta-programming for Haskell. In: Proceedings of the 2002 ACM SIGPLAN Workshop on Haskell, Haskell '02. ACM, New York, NY, USA, pp. 1–16, doi:10.1145/581690.581691.
  21. Zoltan Somogyi, Fergus Henderson & Thomas Conway (1996): The execution algorithm of mercury, an efficient purely declarative logic programming language. The Journal of Logic Programming 29(1), pp. 17 – 64, doi:10.1016/S0743-1066(96)00068-4. Available at High-Performance Implementations of Logic Programming Systems.
  22. Michael Spivey & Silvija Seres (1999): Embedding PROLOG in HASKELL. In: Proceedings of the 1999 Haskell Workshop, doi:
  23. Wouter Swierstra (2008): Data Types á la Carte. Journal of Functional Programming 18(4), doi:10.1017/S0956796808006758.
  24. Leo White, Frédéric Bour & Jeremy Yallop (2015): Modular Implicits. In: Proceedings ML Family/OCaml Users and Developers workshops 198, pp. 22–63, doi:10.4204/EPTCS.198.2. Available at
  25. Jeremy Yallop (2007): Practical Generic Programming in OCaml. In: Proceedings of the 2007 Workshop on Workshop on ML, ML '07. ACM, New York, NY, USA, pp. 83–94, doi:10.1145/1292535.1292548.
  26. Jeremy Yallop & Leo White (2014): Lightweight Higher-Kinded Polymorphism, pp. 119–135. Springer International Publishing, Cham, doi:10.1007/978-3-319-07151-0_8.

Comments and questions to:
For website issues: