A Common Lisp version of The Reasoned Schemer.


The Reasoned Schemer by Daniel P. Friedman, William E. Byrd and Oleg Kiselyov is one of the "Little Lisper" books. It concentrates on a logic-functional extension to Scheme. Though the language is never given a name in the book, it is a minimal version of KANREN. miniKANREN is the Scheme-based implementation. cl-kanren-trs is our take.


cl-kanren-trs implements the language of The Reasoned Schemer with CLOS hooks to extend the types that can be the subject of unification. Each terminating form from main text is (or will be) implemented as part of the test suite.

Syntax and Semantics

More to come!


The test suite will eventually depend on Stefil.

Mailing Lists


You can browse the cl-kanren-trs repository or checkout the tree with

svn checkout svn://



Valid XHTML 1.0 Strict