Crosscut

Daily Thought - 2024-08-02

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!

This thought was published before Crosscut was called Crosscut! If it refers to "Caterpillar", that is the old name, just so you know.

< back to list

So, what are the advantages of a content-addressed code database, and how do they apply to Caterpillar?

One of them is reduced build times. The code database serves as a perfect cache, so there's no need to redo any analysis (like type checking) that has been done before. That is only necessary for code that has actually changed. Likewise, you only need to run tests for code that has changed.

Also, there are no dependency conflicts. Remember, code is referenced by hash, not by name. It's perfectly alright to depend on multiple versions of the same function or type. This is useful for refactoring. It means that if you change something that a lot of code depends on, you don't have to update your whole codebase at once. You can do that incrementally, at your leisure.

<< 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.