Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A second Scheme implementation.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

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
README
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
    123
    > #b1011
    11
    > #x-14bead
    -1359533
    > #\a
    #\a
    > #\newline
    #\newline
    > #T
    #t
    > ()
    ()
    > asdf-123
    asdf-123
    > <=>
    <=>
    > ReScheme
    rescheme
    > "Hello, World!"
    "Hello, World!"
    > <Ctrl-D>
    $


Links
=====

https://github.com/ingramj/bs
  My previous Scheme interpreter. Buggy, but it was fun to write.

http://peter.michaux.ca/index#Scheme%20from%20Scratch
https://github.com/petermichaux/bootstrap-scheme
  Peter's original Scheme from Scratch articles, and the Bootstrap Scheme
  interpreter. Several people followed this series and wrote their own
  implementations.

http://peter.michaux.ca/index#Royal%20Scheme
https://github.com/petermichaux/royal-scheme
  Peter's Royal Scheme articles (coming soon), and code.
Something went wrong with that request. Please try again.