Coding 2023-10-18
I discussed naming concepts in MOTR with my wife, and I came up with A Breakthrough. Just need a couple more...
In short (because I want to rest my eyes), one of the key concepts in (the high level code in) MOTR is currently called Parametric, and has an attribute just called metadata, which is... a Metadata. After a bunch of discussion, I realized that the Metadata is roughly analagous to the concept of "shape" or "axes" of a multi-dimensional array. Which, you'd think would settle "what to rename Parametric", but...
Okay, so, Parametric corresponds to what some continuous integration systems call a "matrix", but when I searched on the web, it seemed like this usage is, in some sense, common but not standard, if that makes any sense? I was looking because I'm used to thinking of "a matrix with an arbitrary number of axes" as "a tensor" (though I admittedly don't use tensors much), but I thought to myself "If I call it a 'tensor', I bet people will ask why I didn't call it a 'matrix'".
Anyway, even if I'm not sure what I want to call it, that line of thinking did get me thinking about some potential features I could add. Basically, it wouldn't be too hard to support excluding particular combinations of axis values, though it would be easier after a planned refactor that I don't want to do while I've got the kind of coverage gaps I've had for months.
Final thought: staring at the code relevant to that feature idea is forcing me to re-ponder the tension between "Wanting the Mypy coverage report to look good" and "Heehee itertools.product(*(itertools.zip_longest(...) for x in y)) go brrrrrrrr". Like, really, that "line" of code needs an essay explaining what's going on...
Anyway, I have nothing more to say, and no coherent exit strategy, so,
Good night.