On Thu, Jun 6, 2013 at 9:33 AM, Matthew Flatt <mfl...@cs.utah.edu> wrote: > 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.
Matthew and I also once talked about have raco (make|setup) know about dependencies and signal a failure on a require outside the dependencies set. Is that still imaginable? Jay -- Jay McCarthy <j...@cs.byu.edu> Assistant Professor / Brigham Young University http://faculty.cs.byu.edu/~jay "The glory of God is Intelligence" - D&C 93 _________________________ Racket Developers list: http://lists.racket-lang.org/dev