Home

Awesome

Scheme

This Scheme interpreter (proper name pending) is a tiny, readable implementation in ~2k LoC of pedantic C99.

Build Status

Features:

Planned features:

Building

You can build the project by running make in the root directory.

There is a Makefile you can customize and src/config.h for disabling NaN tagging and/or garbage collection.

This project is buildable with Clang, GCC, TCC and strict C99/C++89 or newer on POSIX systems.

Running

REPL

After building the project, start the REPL by calling the binary ./scheme.out without any additional arguments.

There you can write simple (one-line) programs and get them evaluated immediately.

Script

After building the project, call the binary with exactly one argument stating the path of a program relatively to the binary.

A script has to start with a begin form.

Example:

./scheme.out examples/factorial.scm

Documentation

See doc folder in root.