[racket-dev] Packaging

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Sat Feb 19 16:53:09 EST 2011

Eli, you have a lot of very good points that I will try to respond to
individually later.

I think the highest bit issue you bring up is conflicts. (Multiple
versions are a special case of conflicts between packages.)

I see three options

1. Totally disallow conflicts
2. Make conflicting installations irregular
3. Make conflicting installations normal

I think (1) is epitomized by a single location that packages get
copied into as they are installed.

I think (2) is epitomized by something like (1) with a secret place on
the side for conflicts to be stored.

I think my proposal is (3).

I think the way I proposed to deal with conflicts dovetails nicely
into dealing with module privacy. I like the way that keeping things
in separate directories always makes it easy to deal with version
control. I also like the decoupling of package names and the modules
they provide.

I'd like to know where our community stands on this issue, because if
most are happy with (1), then I think the packaging system could be
much simpler. I personally think (2) is more complicated than (3).


Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University

"The glory of God is Intelligence" - D&C 93

Posted on the dev mailing list.