On Fri, Feb 18, 2011 at 8:17 PM, Robby Findler <[email protected]> wrote: > One more comment: one of PLaneT's design goals what that if you have a > working system and you install a new planet package, then you didn't > break any of the working parts from before. The new system doesn't > seem to have that as a design goal anymore (I noticed automatic > upgrades and "freezing" being an explicit operation but there may be > other places). > > Do you have a rationale for deviating from this seemingly nice property?
I think (from my experience working on this problem in the Fortress context) that this property isn't as nice as it seems to start with. It has a few important problems: 1. It can't possible be true in general, since two packages or (especially) two versions of the same package can contend for the same system resource (a file, a database, a network port, a parameter, a bit of Racket global state, etc). 2. It's in conflict with two other important goals -- upgrading packages (to remove bugs, add features, etc) and reducing resource usage (disk, memory, etc). 3. Often, sharing state in a package/library is very important. For example, generative structs have to be generated only once to be properly shared. With the planet policy, it's all to easy to install two packages, both of which require (planet foo/bar), get different instantiations of foo/bar, and have the two packages be subtly incompatible (it's even worse when the incompatibility is in some shared resource other than generative structs, like shared files). We've had this problem with planet libraries, I believe. I believe the right solution is to allow individual library authors to specify that they want the planet policy, or some other policy, to be applied to particular dependencies, without making it the default. > > Robby > > On Fri, Feb 18, 2011 at 3:21 PM, Jay McCarthy <[email protected]> wrote: >> You may recall from the meeting over the summer that I promised a >> packaging Christmas present to Racket. I'm over a month late, but here >> it is: >> >> http://faculty.cs.byu.edu/~jay/tmp/pkgs/spec.html >> >> I lay out some goals for the new packaging system and make a concrete >> proposal. >> >> Please share your feedback so I can direct my efforts better. >> >> Jay >> >> -- >> Jay McCarthy <[email protected]> >> Assistant Professor / Brigham Young University >> http://faculty.cs.byu.edu/~jay >> >> "The glory of God is Intelligence" - D&C 93 >> _________________________________________________ >> For list-related administrative tasks: >> http://lists.racket-lang.org/listinfo/dev >> > > _________________________________________________ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/dev -- sam th [email protected] _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev

