Crosscut

Daily Note - 2025-05-02

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!

I don't have experience with structural code editors. I never worked in an environment that provided one. I just determined that I was going to need something like that. And then I went ahead, starting to figure out what to build, from first principles.

My first approach was very free-form. You were editing a syntax tree instead of text, but you weren't restricted in how to do that. You could freely change existing nodes, as well as add and remove their children, parents, or siblings. Every time you did that, the compiler would figure out if the result was valid, and display the appropriate errors.

This worked well for a while. But as my basic placeholder language grew into something that started to resemble a real one, the free-form approach showed signs of breaking down. The compiler became more complex, to the point where I wasn't sure that I wanted to continue along this path.

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.