Intepreter for a small subset of Scheme. The eval part of read-eval-print is implemented as a pure Erlang function.
make escript
rlwrap ./schem
make check
- Lexical scoping
- Closures (with mutable environment)
- Naive garbage collection of no longer referenced closure environments
- Implemented primitives
- begin
- quote
- set!
- define
- lambda
- car
- cdr
- cons
- length
- list
- +, -, *. /
- <, >, <=, >=, =, equal?
- Implemented types
- Symbol
- Number
- Anything missing in
Features
- Error handling
Markus Ekholm (markus at botten dot org).
3-clause BSD. For details see COPYING
.