RSP0 and PSP0 now constants. Closes #4.
[forth.jl.git] / README.md
index f6d18bc..612de1a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,18 +1,20 @@
 # forth.jl
 
 A hobby implementation of a FORTH-like system atop the Julia scientific
-computing language.  It will never be useful for any purpose besides, perhaps,
-pedagogical - although I wouldn't advise trying to learn forth by using this
-code directly. A better approach is to combine reading something like Leo Brodie's
-book Starting Forth with implementing your own forth.
-
-To a large degree this project is simply a port of the literate programming
-project JonesForth from x86 assembly + forth to julia + forth, although the
-mapping is in a few places non-trivial due to the fact that julia is a high
-level language.  A huge proportion (say 80%) of the library code in src/lib.4th
-is directly copied from JonesForth.  I've added some additional core definitions
-and modified some of the others to be a little bit closer to the behaviour of
-ANS forth (or at least FORTH 83).
+computing language.  It will almost certainly never be useful for any purpose
+besides that which it has already fulfilled: forcing me to think quite
+carefully about how forth works. 
+
+This package owes a massive debt to the existence of the literate programming
+project [JonesForth] (https://rwmj.wordpress.com/2010/08/07/jonesforth-git-repository/),
+which was an amazing read. To a large degree my package is simply a port of
+that project from x86 assembly + forth to julia + forth, although the mapping
+is in a few places non-trivial due to the fact that julia is a high level
+language.  A huge proportion (say 80%) of the library code in src/lib.4th is
+directly copied from JonesForth.  (The fact that it was possible to reuse this
+code was satisfying in its own right!) I've added some additional core
+definitions and modified some of the others to be a little bit closer to the
+behaviour of ANS forth (or at least FORTH 83).
 
 There's quite a lot to say about the implementation, especially due to its
 high-level grounding, but that will have to wait for another time.
@@ -42,14 +44,13 @@ the library file.  Once this is complete you can start entering forth commands:
 
 Notice that unlike other forths, forth.jl echos a newline after reading each
 line of standard input.  This is an unfortunate side-effect of the way that
-I've implemented the primitive word KEY.  Hopefully I'll be able to fix this
-in future.
+I've implemented EXPECT.  Hopefully I'll be able to fix this in future.
 
 There's an example Mandelbrot Set drawing program included in the examples
-directory.  To run it, you'll have to locate this directory on your system
-(its location depends on what OS you happen to be using).  Once found, use
-the "INCLUDE" word to compile its definitions. For example, on my system
-I can run the example in this way:
+directory.  To run it, you'll have to locate this directory on your system (its
+location depends on what OS you happen to be using and how julia is installed).
+Once found, use the INCLUDE word to compile its definitions. For example, on
+my system I can run the example in this way:
 
     include /home/tim/.julia/v0.4/forth/examples/mandelbrot.4th
     Enter 'mandel' to draw the Mandelbrot Set. ok