2009/10/8 Andrew U. Frank <fr...@geoinfo.tuwien.ac.at>: > i have a strange error, which does not occur when i run > runghc Setup.lhs configure > but when i use cabal configure and then build, it occurs. > > the error is > Type constructor Control.Exception.Exception used as a class > in the instance declaration. > (i have imported qualified Control.Exception) > > two questions: > 1. Exception is a class (in Control.Exception) - why the error? > 2. why is there a difference between runghc and cabal (using the same cabal > file). > > i attach the cabal file and the two configuratin files produced. > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > >
C.E.Exception used to be a type instead of a class, so you need to have `base == 4.*` instead of `base -any`. Alternatively, use the extensible-extensions package instead. The difference in results you found is because cabal-install uses base-3 if you don't specify otherwise. The reason for this is that a lot of packages use `base -any` when they shouldn't: base-4 brought enough incompatible changes (like making Exception a class) that they don't work with it. (This is also, I assume, why GHC has two built-in versions of base in the first place.) _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe