[racket-dev] Planet 2 Beta Release

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Wed Dec 5 19:03:05 EST 2012

On Sun, Dec 2, 2012 at 11:11 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> At Sun, 2 Dec 2012 10:55:01 -0500, Sam Tobin-Hochstadt wrote:
>> I have mostly the opposite impression of `raco link`.  I like the
>> default behavior, but that may be a result of my use of a set of
>> scripts [1] for managing Racket installations that makes basically
>> everything into installation-specific packages.
>
> It sounds like you're advocating something that you haven't tried, and
> you wanted installation-specific links, anyway.

I think what's going on here is that we both work in the following style:
 - a single primary installation from git, upgraded across versions,
with frequent
   version changes, which we want to keep the same set of packages on upgrade
 - several separate installs from nightly builds or releases, used primarily for
   testing or for running some single program that remains stable

However, we're imagining that most Racket users will use the following style:
 - a single installation from a release, which is probably removed
when upgrading
   to a new installation of a new version

And we're both trying to capture what we like about how we want to
work for users with a different style.  I see the important feature of
my work style as 'packages stay installed when I pull from git', and
you see 'when I use a different version, I don't get spurious packages
that I didn't wand and don't work'.

Does that seem like a fair summary?

Given that context, maybe the right thing here is (a)
installation-specific packages by default and (b) a way to *upgrade*
an existing installation when installing.  That might be as simple as
automatically running 'raco pkg migrate', but I think making it part
of the installation step would make life easier for people, and
perhaps an upgrade could avoid duplicating files.

Sam

Posted on the dev mailing list.