[racket-dev] package scopes

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Thu Jul 25 14:05:05 EDT 2013

I'm fine with it.


On Thu, Jul 25, 2013 at 11:59 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> We currently have three packages scopes:
>  * 'installation --- specific to an installation of Racket, where
>     package files are written into the installation (for all users of
>     the installation)
>  * 'user --- specific to a user and version, where packages files are
>     written to a user-specific location
>  * 'shared --- specific to a user, but not to a version of Racket
> I think we should change to two:
>  * 'installation --- like now
>  * 'user --- specific to a user and "installation", but where
>     installations are identified by a configurable name (as opposed to,
>     say, the installation's path)
> That is, every installation has a name. For a release, the name
> defaults to the release version. For a snapshot, the name defaults to
> "snapshot" --- which means that when you throw away your snapshot and
> install a new one, then you keep your package installations.
> (Distributors of releases and snapshots can adjust the default,
> obviously.) For a repository checkout, the name defaults to "checkout"
> --- which means that you keep your package installations when you `git
> pull' and the version changes.
> An installation name would be stored in the same configuration file
> that is used for package catalogs. A user who wants multiple snapshot
> installations, git-repo checkouts with different package sets, or
> multiple installations of Racket v6.0 can adjust one installation's
> name in its configuration. Similarly, a user who really wants to share
> packages between Racket v6.0 and v6.1 can give the installations the
> same name.
> I think this change would make the 'user installation scope the right
> default for pretty much everyone, instead of trying to make the default
> 'user under some circumstances and 'installation in others. I think it
> also covers the goal of 'shared better than 'shared does.
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

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.