PROPOSED NEXT STEPS:
1. A clear proposal for this modification be made. Right now the details of the proposed modification are wrapped in a fairly opaque discussion. The discussion is framed in terms that are either too vague "Make the CL syntax predictable" or too specific -- very particular proposals about how variables will be bound. By now the discussion is also "protected by volume" against people who want to join the discussion, but weren't parts of it from the beginning.
2. The proposed change should be modified to operate only in a "strict mode", allowing existing legal CL code to continue to work. I propose that individual systems be allowed to proclaim that they should be operated on in strict mode, or cannot be used in strict mode.
"strict mode" would be available as a local declaration: a system could specify that it should be compiled and loaded with readtable hygiene, and that would *always* happen when it is operated on.
The library user would also be allowed to specify a global strict mode setting, and this setting would be applied in some way like the following (this is a tentative proposal):
a. systems that do not specify strict or non-strict mode would be compiled in strict mode if the user so specifies. This would lead to errors in some cases, but they would be errors that the user wants to see.
b. If the caller specifies strict mode, it will be an error to depend on systems that want to be compiled in non-strict mode. This would achieve the safety that you wish to see.
3. Getting this right will require much testing and experimentation. It will not appear in the next ASDF release.
Best, r