[racket-dev] updated proposal for moving to packages

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Thu Jun 6 11:33:43 EDT 2013

At Thu, 6 Jun 2013 10:00:56 -0400, Sam Tobin-Hochstadt wrote:
> > When we have a small core, then there should be
> > practically no packages without explicit dependencies --- when a
> > package's dependencies are specified accurately, at least.
> 
> Is it possible to enforce, either in the package system or in DrDr or
> somewhere else, that dependencies are specified accurately?

I don't think we can enforce it precisely, but I think we can test it
reasonably well.

The simplest mechanism for testing dependencies is to just install the
package on a clean core and run some unit tests. I think that's
probably good enough for a while. Using built or binary packages for
dependencies makes the check much faster than it would be purely from
source.

Since code in a package can synthesize a module reference dynamically,
any static enforcement would have to be approximate, naturally (e.g.,
checks on all `require's). Approximate checks would be useful, and I
don't think anyone has implemented them, yet.

Complete enforcement would require some sort of dynamic check to
constrain access from code from a given package. That seems tricky at
best, and it's probably more than we need in practice.


Posted on the dev mailing list.