> On 18 Nov 2016, at 14:19, Faré <fah...@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.