Coding 2024-07-26
I made some minor improvements to the Structured Data code today, but mostly I was focused on planning. See, one unimplemented feature is that it should be impossible to try to bind the same name twice or more in a single call to match(). Now, it's not too hard for me to get that working, but really, I should be analyzing the structure being passed in well enough to point out where it's going wrong, and getting that right takes a bit more thought.
Idle speculation:
Currently, I'm having the iterator that produces this stuff yield item-like pairs. If I change from passing those into a dict constructor directly to building up a dictionary, then I can add additional fields to the iteration (at some point it makes sense to create a class for holding this stuff, but let's not think about that yet). I can include a field that indicates the "path" to the current name; this should be a tuple of structure field-names, probably. None of this should be too hard, but I'll have to consider whether there's something I'd rather do.
I've let things get late, so I won't try to do any more tonight.
Good night.