Faré wrote:
- The proposed change should be modified to operate only in a "strict
mode", allowing existing legal CL code to continue to work.
Agreed, and until the dust settles, "strict mode" cannot be the default. I'd argue it should become the default eventually (i.e. next year).
I doubt that's even feasible, since the strict mode will have to cross systems. It will be easier to have systems say "I know I behave according to the strict policy, so I will LOCALLY ask to be built and loaded strictly."
I think one reason you think that this change is feasible and I don't is that you have a stronger sense that there's a kind of "one library/system == one ASDF file."
In our bigger multi-component systems that are based on ASDF, I find that we typically end up with multiple ASDF systems, because we have subsystems that use different libraries, and want to specify their own dependencies.
AFAIK you can't do this without introducing new top level systems, since modules cannot depend on libraries.
That's why, for example, we have systems that bleed readtable across their boundaries: the systems really aren't stand alone entities, but limitations on ASDF expressiveness, and the desire to get more modularity than the (necessarily in-line) :MODULE will permit, causes a proliferation of systems that are NOT libraries, and have meaning only in context.
I'm not going to move ASDF towards breaking such systems.