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:

  1. The program will balloon in size if large-ish words get used over and over.

  2. 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: