
| I thought that "cabal install" should be viewed as installing an | instance of the requested package by recompiling the whole transitive | closure of dependencies from scratch, in a sort of NixOS-like way. | Given this view, Cabal's reuse of already compiled and installed | packages is purely an optimization that can prevent it from | recompiling some things if it is absolutely certain that doing so is | unnecessary. The problem then is just that Cabal is currently brokenly | unable to handle multiple instances of an installed package with the | same name and version. I believe that what you describe is precisely The Glorious Plan http://hackage.haskell.org/trac/ghc/wiki/Commentary/GSoCMultipleInstances It's just that no one has time to do it. That's why I was raising it (again) to see if anyone has any bright ideas for un-gluing this particular log-jam. Simon