Daily Thought - 2024-12-24
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 don't have a firm conclusion about the interaction of linear types and algebraic effects. All of the problems I've presented seem solvable, but at the cost of verbosity, or complexity, or both. I'm not convinced that this is worth it.
Maybe only one or the other should exist in the language. But I'm not ready to accept this as a conclusion yet, since both are useful in their own way. But I guess it could be worse. The main motivation for either, is to deal with outside effects (i.e. stuff that happens in the real world) in a purely functional setting. To do that, we don't need both at the same time.
For me, the primary appeal of pure functional programming, is that everything that your code can do is locally visible. If you look at a function call, you know that the function can't hide anything from you, because all it could possibly do is visible in its signature. I guess, whether it's visible in its arguments and return values, or via effects, is secondary.
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.