Crosscut

Daily Thought - 2025-01-29

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

Earlier prototypes had dynamic type systems, and this is rather easy to do. In the previous prototype, I had started to implement a static type system. And while I never got the type inference fully working before I switched to the new prototype, I think it would be practical to continue with explicit type annotations. So both static and dynamic are viable options.

The eventual goal is to have a static type system with full type inference. From an implementation perspective, a static type system with explicit annotations has the advantage of providing a smoother transition to that, compared to a dynamic type system. But it's not as easy to implement. Which could turn into a distraction.

In the short term, I am much more confident in my ability to implement a dynamic type system. And while I used to think that this would be a detour, I'm starting to change my mind. Because while a static type system provides a smoother transition to the eventual goal from an implementation perspective, a dynamic type system might present a smoother transition for the user.

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