Misnamed secondary systems

Mark Evenson evenson at panix.com
Fri Nov 18 13:36:00 UTC 2016

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

More information about the asdf-devel mailing list