Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A second Scheme implementation.
C
Branch: master

Allow any type of object to be pushed onto GC stack.

This makes things a lot simpler, since the caller doesn't need to
check the object type before pushing, or keep track of how many pops
are needed.
latest commit 560ea8d8af
@ingramj authored

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.