package pollution by asdf
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:
> 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...
More information about the asdf-devel