[plt-scheme] On PLaneT packages and compatible upgrades

From: Richard Cobbe (cobbe at ccs.neu.edu)
Date: Wed May 10 07:13:12 EDT 2006

On Tue, May 09, 2006 at 05:43:05PM -0500, Robby Findler wrote:
> At Tue, 9 May 2006 18:40:10 -0400, "Carl Eastlund" wrote:
> > On 5/9/06, Robby Findler <robby at cs.uchicago.edu> wrote:
> > > Another possibility: we could force each import to have its own
> > > (unique) prefix when imported into a module. In addition to avoiding
> > > this problem, it seems like it could even help make people's programs
> > > more readable, since imports would be identified at a glance.
> > 
> > I just want to clarify, to make sure I understood this suggestion. 
> > This would essentially force the (prefix ...) require-spec for all
> > imports, or at least for all (planet ...) imports, AND require that no
> > other identifiers bound at the top level of the importing module
> > (including both internal defines and other imports, even non-planet
> > imports) could have that prefix.  And restricting the prefix on
> > non-planet imports would probably require us to put prefixes on them
> > as well.  Is that correct?
> Sounds about right. It's not like there isn't a precedent for this. ML
> Functors, for example, typically prefix all of their imports for
> example.

The main problem I have with this suggestion is that I, as a package
maintainer, would say that "this is a compatible upgrade---just so
long as you, the client, follow this pattern."  I'd feel much happier
with a definition of `compatible upgrade' that was independent of the
way in which the client actually used the package.

> I doubt that we can take this road, however, since so much code doesn't
> do that.

Also true.


Posted on the users mailing list.