Hacker News new | ask | show | jobs
by microtherion 2479 days ago
I don't know about "modern", but you could go the traditional route and bootstrap it from Assembler (You'll find that you only have to implement a tiny number of primitives until you can start implementing the rest in Forth itself).

Chapter 9 of Leo Brodie's "Starting Forth" is the text that kicked off my implementation in the early 80s (and undoubtedly countless others): https://www.forth.com/starting-forth/9-forth-execution/

1 comments

Does Brodie's book cover implementation though? I can code in Forth a bit already, but want to know more about implementing in a low level language.
> want to know more about implementing in a low level language.

You might check out Jonesforth [0], which is an extensively-documented Forth implemented in x86 assembly language. If you read the single source file top to bottom, you'll get a good understanding of how it is implemented. There are also ports to x86-64, ARM, and other machines.

If you're looking for something in C, you might check out Ficl. [1]

[0] https://github.com/nornagon/jonesforth/blob/master/jonesfort... [1] http://ficl.sourceforge.net

I always forget about Jonesforth. Glad to see it's on GitHub now!
> Glad to see it's on GitHub now!

Ah, that github link is not the official repository. The following link appears to be the official repo:

http://git.annexia.org/?p=jonesforth.git

This particular chapter talks about implementation. It probably gets you 80%-90% to an understanding of what you need to do, and the rest should be learnable by examining other implementations, now that you know what to look for.