Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A second Scheme implementation.

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 .gitignore
Octocat-spinner-32 CHANGES
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Makefile
Octocat-spinner-32 README
Octocat-spinner-32 buffer.c
Octocat-spinner-32 error.c
Octocat-spinner-32 eval.c
Octocat-spinner-32 gc.c
Octocat-spinner-32 object.c
Octocat-spinner-32 read.c
Octocat-spinner-32 rescheme.c
Octocat-spinner-32 rescheme.h
Octocat-spinner-32 rescheme_p.h
Octocat-spinner-32 stack.c
Octocat-spinner-32 symtab.c
Octocat-spinner-32 write.c
ReScheme - A second Scheme implementation

  ReScheme is a "sequel" to my earlier Scheme interpreter, bs. Just as bs was
written while I was following Peter Michaux's Scheme From Scratch articles,
ReScheme will be following his upcoming Royal Scheme series.
  See the LICENSE file for copyright and licensing information.

Compilation and Usage

  If you don't have clang installed, change the first line of Makefile to
"CC = gcc", or whatever is appropriate. There are no external dependencies.

So far, ReScheme is just a pretty-printer, and doesn't evaluate expressions.
Integers, characters, booleans, null, symbols, and strings have been added.

    $ make
    $ ./rescheme
    > 123
    > #b1011
    > #x-14bead
    > #\a
    > #\newline
    > #T
    > ()
    > asdf-123
    > <=>
    > ReScheme
    > "Hello, World!"
    "Hello, World!"
    > <Ctrl-D>

  My previous Scheme interpreter. Buggy, but it was fun to write.
  Peter's original Scheme from Scratch articles, and the Bootstrap Scheme
  interpreter. Several people followed this series and wrote their own
  Peter's Royal Scheme articles (coming soon), and code.
Something went wrong with that request. Please try again.