Daily Thought - 2024-10-03
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.
What does it take to handle code updates, based on my latest insights? Since recursion is the only form of iteration in Caterpillar, there's actually no need to update code within functions. It's enough to upload new versions of functions that have changes, and update any calls to them. They will execute the new code next time around.
We still might want to implement a more detailed approach at some point, to get a more immediate reaction to the update. But remember, this is not the ideal solution that I want to sink a lot of time into. It's just a stopgap. Plus, it might turn out that replacing functions is just good enough in practice.
So that's the first iteration that I'm going to implement: Detect which functions have code that changed; re-compile those functions and append the new instructions at the end; update all calls in existing code. Then iterate on that as necessary. Sounds doable; let's see how it goes!
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.