R. G. Loeliger Threaded Interpretive Languages Their Design And Implementation[1] is an amazing book, since it was out of print, I printed it on a good 160gsm a4 paper, and I randomly open it every few weeks just to read through it. I strongly recommend it, even if you are not interested in Forth.
I have been programming in all kinds of languages, from assembly to clojure, but in 25 years I never programmed stack languages, I was kind of scared of them, it wasn't until I read the book and made my own Forth I understood what I was missing. Since then I made few interpreters, with jit, or with types, etc, it was super fun, but most of all it allowed me to see a completely new paradigm of programming, kind of the first time you understand eval/apply from 13th page of the LISP 1.5 Programmer's Manual. A language that writes itself and it is written in itself.
If you are making your own Forth, this Brad Rodriguez's article is also really good [2].
I love this! SNOBOL is weird but the article does a great job showing the power of a small but very uniform and consistent language.
jollyllama · 56m ago
Upvote for Ratfactor who made the most useful HTMX reference around (even though it wasn't completed) https://ratfactor.com/htmx/
oytis · 1h ago
Are there any non-toy implementations of Forth?
haolez · 55m ago
There are probably several, but I had contact in the beginning of my career with a company that made industrial printers. They said that, in the first years of the company (80s), adopting FORTH gave them an edge over the competitors and it was the main (tech) factor of their success. They implemented their firmware in FORTH with some PostScript wizardry as well.
I have been programming in all kinds of languages, from assembly to clojure, but in 25 years I never programmed stack languages, I was kind of scared of them, it wasn't until I read the book and made my own Forth I understood what I was missing. Since then I made few interpreters, with jit, or with types, etc, it was super fun, but most of all it allowed me to see a completely new paradigm of programming, kind of the first time you understand eval/apply from 13th page of the LISP 1.5 Programmer's Manual. A language that writes itself and it is written in itself.
If you are making your own Forth, this Brad Rodriguez's article is also really good [2].
[1]: https://archive.org/details/R.G.LoeligerThreadedInterpretive...
[2]: https://www.bradrodriguez.com/papers/moving1.htm
OpenBOOT: https://openfirmware.info/OpenBOOT
That second link has a link to a git repository and you can see the forth code there.
FORTH is the type of thing that probably exists all over the place but it's so deep and arcane that you would never know it.