chickadee » kanren

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.

kanren

Description

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

Author

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

Documentation

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.

Version

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

License

KANREN is OpenSource, distributed under the MIT license.