Crosscut

Daily Thought - 2025-01-04

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!

< back to list

Let's think through one of the two main tasks that a code database editor has: handling input. Remember, we're not editing plain text. What we type, doesn't need to show up exactly on the screen like we type it. It just needs to tell the editor what we expect to show up in the code database. Which means, input code can have a totally different format than rendered code.

To an extent, that's already true today, with plain text code. If you think about the keystrokes that you make in an API, they don't match the code that ends up in file. They might also be dealing with autocomplete, for example. Selecting one of the options offered to you, which then gets inserted.

The way I imagine this custom code database editor, this would be true to a much greater extent. Let's say you're editing a function within a module. Why would you need to press Backspace and type end to move to the module level, where you can type the next function? If you pressed Escape, the editor could just close the function for you, and be ready to accept the next one.

<< previous thoughtnext thought >>

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.