Daily Note - 2025-03-24
Hey, I'm Hanno! These are my daily notes on Crosscut, the programming language I'm creating. If you have any questions, comments, or feedback, please get in touch!
Okay, so I've re-invented monads. But in a totally weird way, with postfix operators and automatic lifting. I didn't do it this way because I wanted it to be weird though. This fell out of a long, iterative, and still ongoing design process. A strong focus of that design process has been convenience.
And this is interesting to me. Because it seems to be a
recurring theme in the world of functional programming
languages, that dealing with monads turns out to be
inconvenient. And then, to fix that, do
notation gets introduced.
I'm far from being an expert on do
notation. But it seems to me, that it has a twofold
purpose: to hide the inconvenience of explicitly
operating on monads, and to put those operations into a
linear sequence. Which is exactly what I'm trying to do
with my approach. But in Crosscut, this wouldn't be a
special notation. It would be the default (and hopefully
only) mode of doing things.