Coding 2026-01-21
I've been putting most of my mental energy into things other than Impliciula or conlanging, but I don't have the time or focus to write that up right now, so I'm going to jot some quick notes on what I've done and where I'm going with Impliciula.
- I created a module containing a wrapper class with an additional parameter to track type inference direction. (To get this to work, I had to specify the variance manually, which now has me paranoid about where else the variance inference could be wrong.)
- I was briefly imagining using this class to define helper functions in the same modules as the different node classes, but I've decided this would be frustrating, on account of how I'm no longer importing variable nodes, but I am importing variables.
- Perhaps what would make sense would be to add constructor methods to the different node classes, that use the wrapper class, and then elsewhere have the helper methods that do stuff like synthesize variable nodes to pass into a function mapping variable nodes to computations.
- I'm still not totally sure what is the best way to package up these helpers for reuse. I keep thinking that multiple inheritance in a mixin kind of mode should work, but then I get caught up trying to figure out the type variables, and I'm just not sure.
Oh well, I can at least do some of this, incrementally, and it will function as nice documentation, if nothing else.
For now, it is super late and I need to wind down.
Good night.