Crosscut

Daily Thought - 2024-05-02

Hey, I'm Hanno! These are my daily thoughts on Crosscut, the programming language I'm creating. If you have any questions, comments, or feedback, please get in touch!

This thought was published before Crosscut was called Crosscut! If it refers to "Caterpillar", that is the old name, just so you know.

< 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 >>

Hey, you! Want to subscribe to my daily thoughts? Just let me know (maybe include a nice message, if you're up for it), and I'll send you an email whenever I post a new one.