It’s not quite the same but the footnote reminded me of Forth, where I first heard of threaded interpreters in the 1980’s, and this is an older reference (1973) https://dl.acm.org/doi/pdf/10.1145/362248.362270 to threading that Feeley and Lapalme might have been aware of.
Forth is the quintessential case for threaded interpreters, but the Janet VM uses a similar method using pre-computed gotos. It’s a little different, but only trivially. As far as I can tell threaded interpreters are about as fast as you can make an interpreted language go without JIT and higher level optimizations; though I would be happy for someone to provide counter examples/information.
Another interesting example is the Massey Meta Machine (M3) which goes into a little more detail about someone more or less stumbling onto the same structure.
It’s not quite the same but the footnote reminded me of Forth, where I first heard of threaded interpreters in the 1980’s, and this is an older reference (1973) https://dl.acm.org/doi/pdf/10.1145/362248.362270 to threading that Feeley and Lapalme might have been aware of.
Very nice find!
“In software it is realized as interpretive code not needing an interpreter.” that sounds bold!
Forth is the quintessential case for threaded interpreters, but the Janet VM uses a similar method using pre-computed
goto
s. It’s a little different, but only trivially. As far as I can tell threaded interpreters are about as fast as you can make an interpreted language go without JIT and higher level optimizations; though I would be happy for someone to provide counter examples/information.Another interesting example is the Massey Meta Machine (M3) which goes into a little more detail about someone more or less stumbling onto the same structure.