[Asdf-devel] Documentation questions about FIND-SYSTEM and LOCATE-SYSTEM

Faré fahree at gmail.com
Tue Jul 1 17:18:36 UTC 2014


On Tue, Jul 1, 2014 at 12:54 PM, Robert P. Goldman <rpgoldman at sift.info> wrote:
> When following up discussion about bug 1335323, I stumbled across the
> following paragraph in the manual:
>
> When system definitions are loaded from @file{.asd} files,
> a new scratch package is created for them to load into,
> so that different systems do not overwrite each others operations.
> The user may also wish to (and is recommended to)
> include @code{defpackage} and @code{in-package} forms
> in his system definition files, however,
> so that they can be loaded manually if need be.
>
> I believe that this is no longer accurate.  Fare, you changed to loading
> everything into ASDF-USER, didn't you?
>
Indeed, I changed that behavior in 2.27 to always load in ASDF-USER.
The previous package trick wasn't actually helping, only making things
more complex.
For the sake of hygiene, you might still want to use defpackage and in-package
if you're going to define new classes, methods, variables that you
want to protect from clash.

> Also, LOCATE-SYSTEM isn't documented at all.  I see that it's exposed by
> interface.lisp, but I'm not sure why it is. If exposed, I'd like to
> document it, but it looks like an outsider should always use FIND-SYSTEM.
>
Outsiders should always use FIND-SYSTEM.
People writing s-d-s-f extensions (including Quicklisp)
might conceivably use LOCATE-SYSTEM or have to understand how it works.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Pyramid schemes are illegal. Social Security is a pyramid scheme.




More information about the asdf-devel mailing list