Coding 2023-03-01

By Max Woerner Chase

I'm taking a break from GODEATER prep to reconsider what invariants MOTR's Parametric type will want to track. Here's the general outline I need to work through:

So, some components are outputs, and need to ensure that the actual parameterization does not vary over any multi-valued label that the output does not vary over.

Some components are environment variables, and the final output must vary over at least as many labels as the environment variable.

Some components are implicit, and if they vary, the final output must vary over those labels in a non-implicit component.

I believe these cases cover the existing fields.

These are handled with the methods as_maximal, as_requiring, as well as a few others.

So, we need fields like:

I'm going to need to ponder how to handle the new requirement I just noticed. Or, technically, maybe it's a relaxation of a requirement? A new requirement of what to accept?

Anyway, I'm done for now, but I'm going to note this stuff down so I know I need to tweak stuff.

Anyway, I should wrap up for now.

Good night.