Coding 2024-12-15
I was mostly relaxing today, but I did take some time to consider the ideas I had last night. I'm not sure if the names that I have in mind are quite right. They should be an improvement on the basis of distinguishing types with different behavior, but I don't know if I'm using the right metaphor yet.
Basically, by viewing commands as something like a linked list of arguments, we can build up a "tail" by adding some "heads" to it, and then adding a "cap" to "complete" it.
I suppose figuring out whether this choice of terminology is "right" hinges on figuring out the target audience. Unfortunately, of the four interest groups I've identified for working with MOTR (developers of unrelated repositories, maintainers of unrelated repositories, developers of plugins, and core developers), fully three of them care at least somewhat about understanding whatever terminology I come up with.
On the one hand, I can always change this later, but on the other hand, it would be nice to get it right now.
I also have to consider the possibility that this "cap" concept may not even be correct. After all, some command-line invocations go some-cmd arg1 arg2 -- some-other-cmd-entirely arg3 arg4. In other words, it can be a property of some caps and heads that they can go on top of what should be a cap.
...
I can't go back to TF2.
:)
Boo!
Corny jokes aside, I'm getting the feeling that I can awkwardly patch I mean extend this by writing an adaptor class that converts a completed list to a tail. The main barrier to doing so is the dire quality of the current documentation in this area. And the documentation is so bad because I didn't know what to call anything...
Okay, I've got to at least try the head/tail/cap/complete writeup and see if anything comes of it.
For now, though, I need to wrap up.
Good night.