Found via the thread about stage0, a minimal system for bootstrapping GCC.
Reposting from a comment a few days ago because it’s relevant here too, and I really enjoyed it:
I’ve got a C++ implementation of the Python interpreter he has in that repository here: https://github.com/tekknolagi/stoneknifecpp
Can anyone comment on what open-coding is? From context, it sounds like replacing the forth definition with a reference to machine code, but I’m not 100% sure that’s right, and also can’t think through the details.
Open coding is basically inlining with specialization. I am mostly familiar with it in the context of Smalltalk and Lisp implementations, where if the compiler can know that a particular value will be a fixnum, it can, for example, replace a call to the addition primitive (which also needs to handle bigints) with an ADD instruction. This can also avoid tagging and untagging values at every step.
stoneknifeforth and colorForth are great inspiration for writing a tiny interpreted programming system.
StoneKnifeForth has been a big inspiration to my current project: https://github.com/akkartik/mu/blob/master/subx/Readme.md#inspirations
@kragen has also been a huge help to get me started creating ELF binaries from scratch: https://mastodon.social/@akkartik/101270485796588369
I like that there’s a “related works” section. It’s a simple way for a hobby project to be more useful. The author probably already has the inspirations in their head anyways (maybe even as browser tabs!).