[racket-dev] updated proposal for moving to packages
On Thu, Jun 6, 2013 at 9:33 AM, Matthew Flatt <mflatt at 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 <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay
"The glory of God is Intelligence" - D&C 93