
On 22/11/2012 11:00, Duncan Coutts wrote: he nix-style approach that we've been advocating for
years comes in. That's what Philipp Schuster's GSoC this summer was all about. That's aiming to do exactly what Simon is talking about here. It's about allowing sets of packages to be installed simultaneously that have inconsistent sets of dependencies. There's a slight overlap with sandboxing, but the way I see it, the nix approach is the right underlying implementation mechanism and then sandboxing is more of a UI issue.
I completely agree with Duncan. Finishing the implementation of this would solve many of the problems that people are collectively calling "cabal hell", and would achieve exactly what Simon suggested at the beginning of this thread. For people who want to learn more about this, we have a wiki page with lots of information about the design (which is sadly in need of a bit of reorganisation though): http://hackage.haskell.org/trac/ghc/wiki/Commentary/GSoCMultipleInstances It's really not as hard as it seems, the main tricky bit is in deciding how to name various things (see the section entitled "Hashes and Identifiers"). Cheers, Simon