X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=blobdiff_plain;f=README.md;h=d175de52122aafd3db1349e941a1444be5937a0d;hb=7a7d76ef5449bff091c710531869b7b9eceecadc;hp=0a861b9d609e10a1788bade63c844325063c5a08;hpb=5c89ece636005a3008eb27a80b0c805b4d0e4c84;p=scheme.forth.jl.git diff --git a/README.md b/README.md index 0a861b9..d175de5 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,12 @@ life as a fairly direct port of Peter Micheaux's [Bootstrap Scheme](https://github.com/petermichaux/bootstrap-scheme) (as described in [this wonderful series of blog posts](http://peter.michaux.ca/articles/scheme-from-scratch-introduction)) from -C to forth, but also includes variadic compound function support, mark-sweep -garbage collection, quasiquotation, and a basic (non-hygienic) macro -system. +C to forth, but also includes pre-evaluation syntactic analysis, variadic +compound function support, mark-sweep garbage collection, quasiquotation, and a +basic (non-hygienic) macro system. -In future, I plan to also implement a more complete numerical tower to bring it closer to +In future, I plan to also implement reified continuations and a more +complete numerical tower to bring it closer to [R5RS](http://www.schemers.org/Documents/Standards/R5RS/). The goal is for the interpreter to be complete enough to be used to complete @@ -21,9 +22,9 @@ the majority of the exercises found in [SICP](http://sarabander.github.io/sicp/) Running the interpreter ======================= -To run this Scheme interpreter, first open Julia from the src directory contained -in this repository. If you've not done so already, install forth.jl using the -following command: +To run this Scheme interpreter, first open Julia (**version >=0.6**) from the src +directory contained in this repository. If you've not done so already, install +forth.jl using the following command: julia> Pkg.clone("https://github.com/tgvaughan/forth.jl") @@ -75,12 +76,12 @@ You'll then be greeted by the following prompt: ;; M-Eval input: At this point you can start entering Scheme commands... but be prepared to wait -a while for the result. After all, when evaluating commands in the MCE you are +a while for each result. After all, when evaluating commands in the MCE you are running a program in a Scheme interpreter running inside another Scheme interpreter which is itself running on a Forth system that is implemented atop -the Julia numerical computing environment. **That's three levels of -abstraction more than a native Julia program experiences**, so some delay is to -be expected! +a virtual register machine running in the Julia numerical computing +environment. **That's four levels of abstraction more than a native Julia +program experiences**, so some delay is to be expected! For instance, the following example from SICP defines and demonstrates a recursive list append procedure: