Coding 2025-08-10
I didn't have the focus for working on Villeins of Tomorrow today, so I ended up doing some quick work on Impliciula's System F layer. My goal was just to implement type substitution for bundles, which allowed me to update more of the existential nodes to use bundles in type checking.
I am too tired to properly explain what all of that meant.
Anyway, the next step in updating is to finish implementing type coercion, that is, coercion between types that are different types. That requires a few things:
- Placeholder types to handle constructing a coerced type.
- Rework the equality constraint to consider placeholder types equal to everything, because, like, if you're comparing against a placeholder type, then that was generated from a constraint failure, so, like, you don't need more constraint failures. I can hammer out the details later.
- See if I can make a dedicated descriptor for coercion, because it kind of seems like it should be possible to hardcode most of the behavior. Just need to... construct a default value... from the class... that the descriptor is being defined on. I'm pretty sure I can make this work somehow.
Well, that's a fun task that I just set for myself. We'll see about that some other time.
For now, sleep.
Good night.