Crosscut

Daily Thought - 2024-08-01

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

I've been going on for a bit about how a code database can apply to specific aspects of Caterpillar. I've said it before, but the inspiration for the code database comes from Unison (and to a lesser extent Smalltalk). And Unison gets a lot out of the way they implement this, that I haven't mentioned so far.

In Unison, code is content-addressed. Meaning each piece of code is hashed, and referenced via this hash. This approach has a lot of advantages. The Unison documentation already does a good job of explaining that, but over the next few days, I'd like to go over some of those advantages, and how I think they apply to Caterpillar.

And by the way, while Caterpillar doesn't have a code database yet, it already implements the hashing and content-addressing. This has turned out to be useful for implementing interactive programming (as demonstrated by a previous prototype), and I've recently re-implemented it in the current version.

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