Daily Note - 2025-05-27
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!
In programming language design, there are these islands of purity. Lisp, Forth, Smalltalk, probably others too. Those are examples of language families that implement a single concept without much compromise, resulting in a simplicity that feels desirable. Early on in my journey of working on Crosscut, I hoped that I would create something comparably simple.
And it seems like that didn't happen. I just proposed infix operators, for crying out loud. But I'm not sad. It's not like I tried and failed, after all. Along the way, trade-offs presented themselves to me. And I chose the options that steered the language away from purity, and the simplicity that comes with it.
So I chose not to create a Forth or a Lisp. (I never considered to create a Smalltalk, although Crosscut takes a lot of inspiration from it.) And I guess I rediscovered why most languages are a mess: To achieve purity, that needs to be a priority. Which means you're going to make trade-offs that sacrifice other desirable properties. Again and again, I wasn't willing to do that.
Hey, you! Want to subscribe to my daily notes? Just let me know (maybe include a nice message, if you're up for it), and I'll send you an email every time I post a new one.