package pollution by asdf

Pascal Bourguignon pjb at informatimago.com
Tue Jan 16 17:14:13 UTC 2018



> On 16 Jan 2018, at 17:46, Sam Steingold <sds at gnu.org> wrote:
> 
> Hi,
> 
> When I start CLISP with the full linking set (i.e., including all
> possible extensions), I have 63 packages in (list-all-packages), and 37
> of them (more than half!) comes from asdf (22 ASDF/* and 15 UIOP/*).
> 
> I wonder if I am the only one unhappy about this.
> In particular, has it ever been considered that it might be a good idea
> to limit the number of packages asdf creates?


Why?  Does FIND-PACKAGE use a linear algorithm to find the packages?

This apparent multiplication of packages is due to the absence of hierarchical package names (and, granted, a tendency to over-modularize the code).  But IMO, an implementation should be prepared to handle a big number of packages.  Notably, use-package should be cheap, so packages used by a lot of other packages shouldn’t be costly either.
(On the other hand, FIND-SYMBOL in a package that uses a lot of other packages may be rather costly, either in time or in memory (cache)).

Note that users probably don’t use LIST-ALL-PACKAGES directly.  In my case, I use com.informatimago.common-lisp.interactive.interactive:lspack ; I’ve never felt the need to filter out the packages very strongly (it uses string-match-p to select package names containing an optional substring), but it would be trivial to add filters to exclude package names that have some hierarchical structure in them (“sub-packages” delimited with “/“ or “.”).

-- 
__Pascal J. Bourguignon__



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20180116/0f446cf3/attachment.html>


More information about the asdf-devel mailing list