On 18 Nov 2016, at 14:19, Faré fahree@gmail.com wrote:
Starting with ASDF 3 (2013), ASDF officially supports "secondary systems", i.e. additional systems named in an asd, beside the main one. For the additional systems to be findable by ASDF, though, their name must be of the form "foo/bar" where "foo.asd" is the name of the file, and "foo" is called the primary system name.
ASDF1 and ASDF2 would let you define those systems, as well as other systems of arbitrary names, but would be incapable of finding them. By badly copying each other, Lispers have developed a lot of misnamed secondary system the name of which doesn't match the pattern.
I'd like to forbid such misnamed systems. Now a quick grepping through Quicklisp (see latest update to my ql-test) finds 233 .asd files with such misnamed secondary systems. Obviously it will take time to clean up the mess, so for after the next release, I'd like to signal a full WARNING when the condition is detected, and at some point, make that a CERROR, then later an ERROR.
Cleaning up this mess will also prevent a subtle class of errors, such as when two .asd files define each other's systems (see test case test-mutual-redefinition.script in asdf/test).
I object on the grounds of widespread adoption. At least it will leave me on the current ASDF for a long time.