Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/miniKanren/TheReasonedSchemer
Code from 'The Reasoned Schemer' (MIT Press, 2005) by Daniel P. Friedman, William E. Byrd and Oleg Kiselyov.
https://github.com/miniKanren/TheReasonedSchemer
Last synced: 3 months ago
JSON representation
Code from 'The Reasoned Schemer' (MIT Press, 2005) by Daniel P. Friedman, William E. Byrd and Oleg Kiselyov.
- Host: GitHub
- URL: https://github.com/miniKanren/TheReasonedSchemer
- Owner: miniKanren
- Created: 2013-02-05T22:21:04.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2013-02-05T23:21:16.000Z (almost 12 years ago)
- Last Synced: 2024-05-23T04:48:49.753Z (6 months ago)
- Language: Scheme
- Size: 111 KB
- Stars: 125
- Watchers: 12
- Forks: 25
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
TheReasonedSchemer
==================Original code from 'The Reasoned Schemer' (MIT Press, 2005) by Daniel P. Friedman, William E. Byrd and Oleg Kiselyov.
This implementation uses an older version of miniKanren. Newer versions of miniKanren have a simpler language, simpler implementation, and improved performance. (For example, ```condi``` has been replaced by an improved version of ```conde``` which performs interleaving.).
The code is divided into four files:
```mk.scm``` contains the miniKanren core forms.
```mkextraforms.scm``` contains ```run*``` and ```project```.
```mkprelude.scm``` contains useful helper relations, including the full arithmetic system from chapters 7 and 8.
```mktests.scm``` contains essentially every piece of code in the book, along with appropriate tests.
To run all the tests, simply load ```mktests.scm``` in an R5RS-compatible Scheme system:
```> (load "mktests.scm")```
To just play around with miniKanren, instead load ```mkprelude.scm```.