[racket-dev] PLaneT(2): Single vs multi-collection packages

From: Greg Hendershott (greghendershott at gmail.com)
Date: Fri Jun 7 16:49:16 EDT 2013

> I am *very* strongly in favor of this -- I'd rather have
> single-collection packages than multi-collection packages, if forced
> to choose. I'm very glad that you and Laurent have done the work here.
>
> I'd be happy to update all of my packages.  Currently, of my 9
> packages on pkg.racket-lang.org, 8 are single collection, and 1
> splices into the existing `data` collection (and has a second
> collection to work around a now-fixed limitation.

Likewise I'd be happy to update all of mine.


As I thought about this, I realized I have what feels like a _really_
dumb question. I realize maybe I don't have a crisp handle on
"collection", "library", "module", and "subdirectory".

A single collection can have multiple modules, correct?  At what point
does it become "multiple collections" -- simply because some of the
modules are in subdirs?

In other words:

  my-collection/
    subidr1/
    subdir2/

Is that 1 collection or 3?  And why?

Is the answer related to whether there's an info.rkt in a subdir?

The discussion at http://docs.racket-lang.org/guide/module-basics.html
doesn't clear this up for me (unless I'm overlooking something on
multiple re-reads). 6.1.1. has an example of modules organized in
subdirs. This feels like "one collection" but the term hasn't been
introduced yet.  6.1.2 starts talking about library collections, and
says "A collection is a set of installed library modules". But it
doesn't say "modules only in the same directory", and it doesn't
really explain at what point it would be considered separate sets of
modules, i.e. two collections instead of one.

Again, I feel like I'm being dense and will probably be embarrassed
when I hear the answer, but ... there. I asked.

Posted on the dev mailing list.