On 16 Jan 2018, at 17:46, Sam Steingold <sds@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__