why does ASDF ask to please only define system/test?

Faré fahree at gmail.com
Tue Dec 11 20:35:39 UTC 2018


On Tue, Dec 11, 2018 at 2:09 PM Mark H. David <mhd at yv.org> wrote:
> It seems that any system Y associated with a name X must have its name be of the form X/Y.  For example, when you build "cl-ppcre", you get this warning:
>
> Please only define "cl-ppcre" and secondary systems with a name starting with "cl-ppcre/" (e.g. "cl-ppcre/test") in that file.
>
> I've seen this complaint for quite a few systems already. What's the need for this, and is it really worth nagging users of all these systems that have existed in many cases for years and have worked perfectly well without following the new convention? What great functionality are we getting for this?
>
"Worked perfectly well", except that
1- if you wanted to find a system not properly named, you had to make
sure to have read the relevant .asd file beforehand.
2- if someone defined two systems with the same name in two different
files, then ASDF 2.014 could loop infinitely, and even 2.016 or later
might survive but behave in unstable way depending on how changes may
cause one system to be loaded instead of the other, then reloaded,
etc.

With ASDF 2.27 (ASDF 3 pre-release), a solution was offered to define
multiple systems in one .asd file in a safe way, and the old way was
deprecated ever since, though a warning has only been issued since
ASDF 3.2.0.

ASDF is still backward-compatible. You can hush the warning if you
want—though it importantly tells you which systems could use a new
maintainer.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
A true intellectual is a man who, after reading a book and being convinced by
its arguments, will shoot someone or, more likely, order someone shot.
        — John McCarthy



More information about the asdf-devel mailing list