Daily Thought - 2024-09-30
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.
There are some subtleties to the approach I presented yesterday. For example, why do we append new code instead of updating existing functions? Well, because we might have added more instructions, so the new function might not fit where the old one was located.
And why replace old instructions with jumps to new ones? Wouldn't it be enough to just replace the calls to new functions? Turns out, I didn't really consider that recursion is the only form of iteration; so yes, it is enough to just replace the calls. Helping me think is 90% of the reason I write these daily thoughts.
On top of that, there are some problems that need solving. Like, we can't append new code forever. At some point we have to garbage-collect code that's no longer active. And what happens, if new code expects or produces different types than the old code? Short answer: The initial implementation will be far from perfect. I'll have more details tomorrow.
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.