Daily Thought - 2025-01-10
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!
There are a quite a few specific reasons why I've started working on a new prototype and want to retire the previous one. Here's the list:
- Planning for having a code database, but not having one, is a bad situation. Every design decision I make is either preliminary or suboptimal. And the longer this is going on, the greater the impact, should the whole idea just not work out.
- Interactive programming has limitations and missing features, that effectively render it useless. And that's hard to fix, because of some of the other problems on this list.
- The debugger is broken all the time. And still, keeping it updated is a constant drag on resources.
- The current approach to syntax is too ambitious for now. I'm not aware of any language that does it quite like I've been trying to, which constantly leads to open questions.
- The stack-based evaluation model also is too ambitious for now. It was easy to get started with, but its power makes many advanced things more difficult.
- The type system is a bottomless pit. I've got type inference 95% working, and there's no end in sight for finishing the last 5%.
- Targeting the browser as the primary platform has caused a lot of complexity in the project structure, but provides near-zero benefit so far.
Over the next days (let's be realistic: it'll take weeks), I'll be going into each of those problems, and how I intend to address them with the new prototype.
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.