This is a card in Dave's Virtual Box of Cards.
Compiling by concatenating (Forth)
Created: 2022-03-25
Updated: 2022-10-18
A concatenative language idea! Or "a pure inlining compiler".
Update: This is now my current project! It’s called Meow5 (github.com) and you can watch it grow. See also Assembly Nights 2.
Idea: Inlining complete words (basically compiling by recursively concatenating words together until the output is a single big string of assembly) would be super interesting, but two challenges:
-
The program will balloon in size if large-ish words get used over and over.
-
The interpreter has to be an assembler (all jumps to addresses will need to be adjusted)*
NOTE*: Actually, for #2, I think relative jumps will work just fine. I haven’t gotten there yet with Meow5.
Related: