My Life as a Forth Interpreter (1986) [pdf]
bit-player.org
bit-player.org
I'm the author of the story linked to here. I'm also the jerk who pulled it off the web when I thought my site was getting the DDoS treatment. Mea culpa.
In a Forth, both the inner and the outer interpreter are extremely simple. The story describes them in detail.
Outer interpreter: look up token in dictionary/dictionaries. If found, instruct inner interpreter to execute it by giving it the address of the function that the token describes. If not found, try interpreting the word as a number in the current base. If that succeeds, push the number on the stack. If it fails, signal an error and clear some state.
Inner interpreter: start reading at the address supplied. Recursively interpret every word read as address of another function until encountering a 'end of function' marker.
Leo Brodie's variant of this story doesn't use the terms inner and outer interpreter because it was written before the names were invented, but it may be instructive, anyways: http://www.forth.com/starting-forth/sf1/sf1.html
Outer interpreter looks like exactly that, an interpreter (as opposed to a compiler)
There is a nice browser interpreter here: http://forthfreak.net/jsforth80x25.html
you can start with: 1 1 + . (+ adds, . prints and this is clearly reverse polish notation)
FORTH is in essence an accumulator CPU like the 68000, except it has an easier abstraction to define new instructions (aka "Words") to act like the + or . above.
I guess that is a bit less capable than an actual stack machine like FORTH but sort of the starting point of this programming mentality (at least as I think of it.)
http://globalnerdy.com/wordpress/wp-content/uploads/2007/09/...
> You don't have permission to access /wp-content/extras/bph-publications/CompLang-1986-04-Hayes-Forth.pdf on this server.
The site shows.
Are there other explanations? Scribd definitely got it automatically at least once, maybe they do it too many times? How many HN users use EC2-based proxies?