Thanks for suggestions. Having /usr/bin scripts seems to work for me, Although virthualenv looks promising for package dependency management. But when run virthualenv with --ghc=tarball, it creates copy of GHC suite inside a project whose size is about 700MB.

On 2012/02/07, at 8:41, Brandon Allbery <allbery.b@gmail.com> wrote:

On Mon, Feb 6, 2012 at 18:27, HASHIMOTO, Yusaku <nonowarn@gmail.com> wrote:
Hi, I wrote a simple shell function for switching GHC version on the
system. It works only under Mac OSX, and only switch GHCs installed
via .pkg installers. It's useful to experiment newer features without
worrying breaking environment.

FWIW I'd consider two alternatives:

(1) forgo links entirely and use something like http://modules.sourceforge.net/ to manage $PATH;

(2) instead of using the bundled create-links, have the /usr/bin scripts check a per-user symlink and fall back to a system one; running the select script as root sets the system symlink, running as user sets the per-user symlink.

--
brandon s allbery                                      allbery.b@gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms