miniKanren: A declarative applicative logic programming system
started 5/6/2004; 2:57:27 AM - last post 5/7/2004; 7:13:04 AM
|
|
Ehud Lamm - miniKanren: A declarative applicative logic programming system
5/6/2004; 2:57:27 AM (reads: 15973, responses: 3)
|
|
miniKanren: A declarative applicative logic programming system |
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.
When you see who are the people behind this, you'll realize why you really must take a close look.
Posted to logic/declarative by Ehud Lamm on 5/6/04; 2:58:22 AM
|
|
|
|
Michael Greenberg - Re: miniKanren: A declarative applicative logic programming system
5/6/2004; 1:28:16 PM (reads: 405, responses: 1)
|
|
I took C311, the PL course, at IU with Dan Friedman -- we used this system in there. It was fun -- and shockingly easy to build a type checker for our mini-Scheme.
It was originally called a "Poor Man's Logic System", but it looks like he found someone to help things take off.
|
|
Ehud Lamm - Re: miniKanren: A declarative applicative logic programming system
5/7/2004; 5:06:13 AM (reads: 227, responses: 0)
|
|
I took C311...
Sounds like fun!
|
|
Chris Rathman - Re: miniKanren: A declarative applicative logic programming system
5/7/2004; 7:13:04 AM (reads: 208, responses: 0)
|
|
Thought the comment by Jim Weirich on another board I frequent might be appropriate:
I had Daniel Friedman (author of the Little Lisper) as a first year CS instructor in college. The class was supposed to be an introduction to FORTRAN (that dates me!). But when I went to class, Prof. Friedman kept writing code on the board that had way too many parenthesis for FORTRAN. I spent about three days in class absolutely confused and lost. Around the third day understanding dawned and recursion (and LISP) started making a lot of sense.
|
|
|
|