Daily Thought - 2025-01-07
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!
I've been talking about how a custom editor for a code database could work. But once that editor decided what to insert (or delete, or modify) where in the code database, what happens then? Remember, the code database doesn't store plain text, but a pre-compiled form of the code. So anything that's inserted, needs to be compiled immediately.
I think an important aspect of that, is that you must not get stuck in some error state, if you type invalid code. Plain text lets you do that. It wouldn't result in a working program, but you could ignore that for a moment to make a change somewhere else, or send it to a colleague to ask for advice. A code database should allow the same.
I think this means that non-working code must still result in a valid state of the database. For example, if you mistyped the name of a function, that would be stored in the database as an unresolved identifier. It would be displayed as an error, and not result in a working program. But it would be a valid thing to put in the database, giving you the same flexibility you would have with plain text.
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.