Outdated egg!

This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.

If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.


  1. Outdated egg!
  2. kanren
    1. Description
    2. Author
    3. Documentation
    4. Version
    5. License


A declarative applicative logic programming system used in The Reasoned Schemer.


Oleg Kiselyov and Dan Friedman, packaged for CHICKEN by Alex Shinn.


Note: This extension provides the kanren and reasoned-schemer modules. reasoned-schemer is the language used in the book of the same name, useful when following along but otherwise deprecated by improvements provided in the mini-kanren egg. kanren is a larger, more complicated language not widely used.

KANREN is a declarative logic programming system with first-class relations, embedded in a pure functional subset of Scheme. The system has a set-theoretical semantics, true unions, fair scheduling, first-class relations, lexically-scoped logical variables, depth-first and iterative deepening strategies. The system achieves high performance and expressivity without cuts.

For more information and example code, visit http://kanren.sourceforge.net.


rename mini-kanren to reasoned-schemer
fixed test-dependencies
Ported to CHICKEN 4
There is now only a single setup file, also installs html [Thanks to Benedikt Rosenau]
Added missing file (kanren-term.scm) [Thanks to Benedikt Rosenau]
Initial release


KANREN is OpenSource, distributed under the MIT license.