zaoqi-unsafe / schem-erl

Interpreter for a small subset of Scheme implemented in Erlang.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

schem-erl

Build Status

Intepreter for a small subset of Scheme. The eval part of read-eval-print is implemented as a pure Erlang function.

Building and running

make escript
rlwrap ./schem

Running tests

make check

Features

  • 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

Limitations

  • Anything missing in Features
  • Error handling

Author

Markus Ekholm (markus at botten dot org).

License

3-clause BSD. For details see COPYING.

About

Interpreter for a small subset of Scheme implemented in Erlang.

License:Other


Languages

Language:Erlang 99.3%Language:Makefile 0.7%