Updated forth.jl installation instructions.
[scheme.forth.jl.git] / README.md
index 0a861b9..7551d57 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
 scheme.forth.jl
----------------
+===============
 
 A hobby Scheme interpreter for FORTH 83. Specifically it is targeted at
 [forth.jl](http://github.com/tgvaughan/forth.jl) which is an implementation of
@@ -8,24 +8,24 @@ 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:
 
-In future, I plan to also implement 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
-the majority of the exercises found in [SICP](http://sarabander.github.io/sicp/).
+* variadic compound function support,
+* pre-evaluation syntactic analysis,
+* mark-sweep garbage collection,
+* quasiquotation,
+* a basic (non-hygienic) macro system and
+* first-class continuations via `call-with-current-continuation`.
 
 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 (forth.jl requires
+**version >=1.0**) from the src directory contained in this
+repository.  If you've not done so already, install forth.jl using the
+Julia package manager (accessed using the `]` key):
 
-    julia> Pkg.clone("https://github.com/tgvaughan/forth.jl")
+    (v1.0) pkg> add https://github.com/tgvaughan/forth.jl
 
 Then, import and run the Forth system:
 
@@ -54,7 +54,7 @@ At this point you can start entering Scheme commands.  For example,
     ; 120
 
 Metacircular Evaluator
-======================
+----------------------
 
 Of course, one of the things you can do in Scheme (or of course any programming
 language, this is the fundamental thing) is implement an interpreter for
@@ -75,12 +75,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:
@@ -103,7 +103,7 @@ recursive list append procedure:
 You may have to wait a minute or so for the final result to be printed.
 
 License
-=======
+-------
 
 This software is free (as in freedom) and is distributed under the terms
 of version 3 of the GNU General Public License.  A copy of this license