Moving Forth - Internals and TTL ProcessorJuergen Pintaske, Brad Rodriguez
Moving Forth - Internals and TTL Processor
by Juergen Pintaske, Brad Rodriguez · first published 2018
7mentions
5recommended by
6HN commenters
2016–2023first – last mentioned
83% recommend17% neutral
Why HN recommends it
Explains how Forth works internally, covering its implementation on various processors and metacompilation. It is the best read for understanding Forth's internals and simplicity.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.



…this stuff, despite the ubiquity of smart phones etc. I just uploaded the code to github: https://github.com/hoytech/tiforth To anyone else interested in really understanding forth, Brad Rodriguez's "Moving Forth" series is the best I've ever read (and I don't imagine much has changed since), including a great explanation on "DOES>", widely regarded as the most difficult part of the forth kernel. You can read…
on “Zkeme80 – A Forth-Based OS for the TI-84+ Calculator” ↗For those trying to grok Forth implementation, I cannot recommend Brad Rodriguez' "Moving Forth" [1] series enough. But my favorite one is "1st, 3rd and almost 4th" [2]. Oh, and Loeliger's classic book on the subject [3]. [1] https://www.bradrodriguez.com/papers/ [2] http://www.ioccc.org/1992/buzzard.2.design…
on “Jonesforth: Implementing Forth in Assembly” ↗Oh I love FORTH. Good set of articles here called Moving FORTH by Brad Rodriguez discussing the implementation of FORTH on various legacy ISAs. Worth a read to understand the internals and beauty of the simplicity of it: http://www.bradrodriguez.com/papers/moving1.htm…
on “Byte Magazine: The Forth Language (1980)” ↗Moving Forth is pretty good: http://www.bradrodriguez.com/papers/moving1.htm There are 8 parts to the series, you can look at all of them and other Forth writings by the author on his website: http://www.bradrodriguez.com/papers/
on “Register-based VMs have a higher performance than stack-based VMs” ↗…alongside with Joy) is based on indirect-threaded code (ITC), so the connection between ROP and stack-based programming is rather indirect (pun intended). For anyone interested, Book by Loeliger [1] and "Moving Forth" series [2] are essential readings on this topic. [1]: https://archive.org/details/R.G.LoeligerThreadedInterpretive... [2]: https://www.bradrodriguez.com/papers/
on “Stack-Oriented Programming” ↗It would be more accurate to describe a metacompiler as a cross compiler to the machine an interpreted Forth is implemented on. I recommend Moving Forth [1] for the full explanation. (That's the part that addresses metacompliers, the rest is still quite a great book.) [1] https://www.bradrodriguez.com/papers/moving4.htm
on “Show HN: PlanckForth – Bootstrapping an interpreter from handwritten 1kb binary” ↗…and the next-stack. The i-stack contains the current value(s) being iterated over, and is read from with the i and j words like normal. So much of what we do has already been done. In Brad Rodriguez' "Moving Forth" series (c 1993) he talks about classical Forth having 5 registers, 2 of which point to stacks. He then explores which of these 2 could point to a hardware stack, and how this decision has been taken…
on “A Forth Vocabulary for Iteration” ↗