Daily Thought - 2025-03-18
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 think it's important to consider the defaults we are setting, and what those defaults are going to mean for how the language will be used. (I alluded to that before.) And I think I want Crosscut to be a language that allows you to build airtight abstractions where that makes sense, but that doesn't push you into doing that.
Having nominal
and opaque
as separate concepts might be
the best option in that regard. Each would be available to you, as a tool in
your toolbox, but they wouldn't impose on you. You wouldn't feel forced to make
every API restrictive from the start, doing more harm than good.
The natural way of doing things would be all structural, all public. Which might lead to a rather relaxed style of building APIs, where everything goes. But where it makes sense, you can reach for specialized tools to tie things down. Who knows if this is how it'll actually be; but I like the 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 every time I post a new one.