Crosscut

Daily Note - 2025-06-20

Hey, I'm Hanno! These are my daily notes 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 traits for a few days now (starting here). So far, I've been using Rust's traits as a template, which are focused on defining a set of methods, and that set of methods must be implemented for any type that implements the trait.

But this focus on a single type implementing a trait is not really necessary. Instead, we could define a set of multiple abstract types, and a set of functions that operate on them. This concept already exists, for example in the form of Haskell's multi-parameter type classes.

Tomorrow, let's look at a concrete example of what that could look like.