[racket-dev] proposal: `data' collection

From: Eli Barzilay (eli at barzilay.org)
Date: Wed Jun 30 22:28:48 EDT 2010

On Jun 30, Matthias Felleisen wrote:
> Eli, I do not understand and/or appreciate your objection. 
> 
> Here is what I understand: 
> 
>  -- you believe that top-level collects are something coherent 
>     Q: could you explain this? In what sense is lang/ more or less
>     coherent than data/

They are currently coherent by necessity, because very little can be
done with their contents.  For example, the `lang' collection has both
the student languages and the r5rs implementation -- and this was a
mess because they cannot be separated.  Later on this was cleared up
by moving the r5rs code into its own collection.  Another problem
around `lang': we've talked about moving generic language support
there (like `syntax/module-reader'), but this is impractical to do
with the current setup.

Back to `data', the problem is that you cannot have two toplevel
`data' collections -- which means that you cannot have separate
distributions of `data/foo' and `data/bar' since they must both appear
in your plt installation or in your user directory -- not in both.


>  -- you introduce the notion of a package
>     Q: what is that and how does it differ from a collects? 

A package would be a (coherent) unit of distribution -- it should be
possible to distribute it as an independent unit, it should have an
owner (one or more people) -- but most of all, it should be clear what
code is in the package.  Currently, we only have collections some with
no owner, some have files that are owned by different people.  And to
put things very concretely, I want to start working on the
distribution thing -- and a solution to this problem is *needed*.
I think that we're beyond the reasonable limit of a monolithic
distribution -- so splitting it up to such packages is necessary.

(That's why I said that the name is only a symptom, and that overall I
*want* to see a solution to this.  And I want one now (as in august),
not in some hypothetical future.)

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!


Posted on the dev mailing list.