Skip to content

Commit

Permalink
- Move interpreter with garbage collector to scheme-gc/ folder (#3)
Browse files Browse the repository at this point in the history
- Add in folder with non-garbage-collecting interpreter
- Remove rust folder, with non-existant progress; this is going in a different repo
  • Loading branch information
lazear authored Aug 30, 2018
1 parent bc9d6b8 commit ee7f51c
Show file tree
Hide file tree
Showing 18 changed files with 2,181 additions and 859 deletions.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@ A set of minimal LISP implementations.

!["I've just received word that the Emperor has dissolved the MIT computer science program permanently."](https://imgs.xkcd.com/comics/lisp_cycles.png)

1. lisp1 is a self contained interpreter written in ANSI C for the original LISP language described in John McCarthy's 1960 paper [Recursive Functions of Symbolic Expressions
1. `lisp1` is a self contained interpreter written in ANSI C for the original LISP language described in John McCarthy's 1960 paper [Recursive Functions of Symbolic Expressions
and Their Computation by Machine, Part I][1]
lisp1 defines only the primitives described in McCarthy's paper - namely quote, atom, eq, cond, cons, car, cdr, label, and lambda. There is no ability to define variables, and no scope.

2. The scheme folder contains a minimal implementation of scheme that supports the most important primitives. Currently only supports integer type for numbers. This implementation takes the homoiconic approach outlined in SICP's metacircular evaluator, in which procedures are represented as lists tagged with 'procedure. This allows some interesting differences over other C implementations where procedures are stored as C-style data structures.
2. The `scheme` folder contains a minimal implementation of scheme that supports the most important primitives. Currently only supports integer type for numbers. This implementation takes the homoiconic approach outlined in SICP's metacircular evaluator, in which procedures are represented as lists tagged with 'procedure. This allows some interesting differences over other C implementations where procedures are stored as C-style data structures.

3. The `scheme-gc` folder contains a version of the `scheme` interpreter with a garbage collector

[1]: http://www-formal.stanford.edu/jmc/recursive.pdf
3 changes: 0 additions & 3 deletions rust/.gitignore

This file was deleted.

6 changes: 0 additions & 6 deletions rust/Cargo.toml

This file was deleted.

14 changes: 0 additions & 14 deletions rust/src/bin/src.rs

This file was deleted.

149 changes: 0 additions & 149 deletions rust/src/gc.rs

This file was deleted.

2 changes: 0 additions & 2 deletions rust/src/lib.rs

This file was deleted.

189 changes: 0 additions & 189 deletions rust/src/object.rs

This file was deleted.

4 changes: 4 additions & 0 deletions scheme-gc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
*.o
*.a
*.tar.gz
.config
Loading

0 comments on commit ee7f51c

Please sign in to comment.