Caterpillar

Daily Thought - 2024-05-02

< back to list

I've been talking about the distinction between "solid" and "fluid" code. Solid code is compiled, optimized, and might take a few seconds to deploy a new version of. Fluid code is fully interactive; but how would it be implemented?

It could be bytecode, run by an interpreter. Maybe even just-in-time-compiled, for better performance, although I have doubts that this is a path I want to go down. Maybe it would still be compiled code, just not as heavily optimized. Machine code in a form that is similarly structured to the source code, so you can swap a function for a new version, without having to undo all kinds of inlining optimizations.

I don't know what the answer is. For now, everything's interpreted, and I guess that's a good place to start. From here, I can expand towards more compilation and optimization, incrementally, as the situation demands.

<< previous thoughtnext thought >>