Daily Thought - 2024-12-19
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.
I started talking about algebraic effects almost two full weeks ago! As might be obvious by now, I think they are quite interesting and have a lot of potential in Caterpillar and beyond. However, they are not without problems. Let's start with the fact that an effect triggered by a function you call, can skip over your code and be handled by one of your callers.
Won't that make code hard to follow? I don't think so. Remember, Caterpillar is designed with a code database in mind. Which call could trigger which effects would be inferred before the code goes into the database. That information would be an integral part of the code, and an editor would show it to you.
And that can be as obvious as it needs to be. In Rust, passing on an error can
be automated using the ?
operator. As far as I can tell, that's generally
considered to work well. In Caterpillar, we could have something similar, except
that the developer would never have to type it. And we could tune it to stand
out more or less, as required.
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.