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.