3 ms·
> A more interesting problem is that, if almost every construct in the language is a message send, and all of the implementation is written in the language, han
by sph 2y ago
> A more interesting problem is that, if almost every construct in the language is a message send, and all of the implementation is written in the language, handling a message send may cause infinite recursion.
This is where I suggest reading Ian Piumarta's Open, extensible object models [1] and later his COLA paper [2]
Piumarta tried to imagine an entire late-bound, meta-circular system based around message passing, starting from as little C as possible to build a Smalltalk-like language. It is a small paper that had be obsessed for a year trying to imagine how to implement an entire OS based on it. Worth a read.
And in the theme of meta-circular Lisp, he also worked on Maru [3]
1: https://www.piumarta.com/software/id-objmodel/objmodel2.pdf https://www.piumarta.com/software/id-objmodel/objmodel2.pdf
2: https://www.piumarta.com/software/cola/ https://www.piumarta.com/software/cola/
3: https://www.piumarta.com/software/maru/ https://www.piumarta.com/software/maru/
- jdougan 2y agoDo you have any idea why the final product of STEPS didn't actually use COLA? I assume there was some difficulty that there wasn't time to work around, but I haven't found what it was.