Coding 2024-12-14
Okay, I've been renaming stuff in MOTR's upper layers, trying to gradually reduce the technical debt I incurred by pushing through the unintuitive stuff. At this point, I'm getting closer to figuring out what to call ParametricCommand and ParametricCommandMeta. Basically, a given CLI wrapper has to contain an object that is one of two types, but actually there are kind of four of them, and I'm trying to figure out a naming scheme. My ideas here are kind of inching towards Apps Hungarian notation, so we'll see how this all goes.
Basically, the way I'm thinking about this is kind of like a 1-dimensional jigsaw puzzle where there are only two types of edge. To actually create a Matrix that will put the desired Facts into the Compendium, we need a ParametricCommand[Script, Any, Any, Any], which is like a solved puzzle. The unsolved pieces are ParametricCommandMeta[Script, Any, Any, Any] (solved on the left, not on the right), ParametricCommand[Module, Any, Any, Any] (solved on the right, not on the left), and ParametricCommandMeta[Module, Any, Any, Any] (unsolved on both sides). (One minor complication is that currently the "puzzle" has to be "solved" right-to-left, but it's probably fine.) Furthermore, there is another type that is basically a puzzle piece solved on the right, not on the left. This is needed because it's not possible to construct a ParametricCommand without a ParametricCommandMeta, so there needs to be some way to "solve the right side" as part of converting.
I wonder if I could get better names by considering all of this from the angle of "I mean, it's kind of a linked list". Like, "command head" and "command tail". I think I can get somewhere with this idea, but I also think I'm done for tonight.
Good night.