[asdf-devel] ASDF-USER ?

Stelian Ionescu sionescu at cddr.org
Sun Jan 27 13:34:50 UTC 2013


On Sat, 2013-01-26 at 23:11 -0500, Faré wrote:
> >> Because the package was delete-package'd in an unwind-protect form
> >> after loading the .asd file, and its symbols are thereafter
> >> uninterned.
> >
> > Then keep it, store it somewhere and perhaps delete it only when no
> > longer referenced.
> >
> I have no way to know when the package is not referenced.

Keep a list of all temporary packages created and keep a mapping
system->temporary-package. After each find-system, run a garbage
collection.

> ASDF currently assumes nothing useful will be done with it
> after the asd is done loading. That's just wrong.
> I say stop trying to shield users from the responsibility of
> namespace management by making things more complex.
> They already need to create private packages for private uses, anyway,
> and they already can create all the clashes they want, anyway.

I think ASDF should be as DWIM-ish as possible, which benefits
everybody; or, in other words, better avoid responsibility and
concentrate it into a central place(ASDF). Unnecessary responsibility
just causes headaches.

> >> I respect the *central-registry* feature and will keep supporting it.
> >> It's great for advanced developers like you.
> >> Don't want no caching? Keep using the *central-registry*,
> >> it's not going away any time soon.
> >>
> >> However, the caching is a big win for those of us who use :tree,
> >> especially on implementations on which scanning is slow.
> >> And that means most end-users and newbies, who want things to
> >> just work with minimal configuration (i.e. none at all if possible).
> >
> > That's fine, but I'd like to be able to disable caching. And I'm not
> > using *central-registry* but this configuration:
> >
> > (:source-registry
> >  (:directory (:home "lisp/systems"))
> >  :inherit-configuration)
> >
> Maybe what you want is this:
> 
> (defmethod asdf:operate :before (o c &key &allow-other-keys)
>   (declare (ignorable o c))
>   (unless asdf::*system-being-operated*
>     (asdf:initialize-source-registry)))

Thanks, I'll try it.

-- 
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.
http://common-lisp.net/project/iolib

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20130127/34ea369e/attachment.sig>


More information about the asdf-devel mailing list