[Haskell-cafe] Weird error during derive- build

Brent Yorgey byorgey at seas.upenn.edu
Mon Dec 13 12:03:06 CET 2010

On Mon, Dec 13, 2010 at 12:07:25AM +0200, Alex wrote:
> Hi all.
> I am trying to install the "yi" editor using cabal-install, which in turns
> installs the package 'derive-'. I get the following error during
> derive's compilation:
> [53 of 58] Compiling Data.Derive.Internal.Traversal (
> Data/Derive/Internal/Traversal.hs,
> dist/build/Data/Derive/Internal/Traversal.o )
> Data/Derive/Internal/Traversal.hs:34:0:
>     Illegal instance declaration for `Applicative (Writer w)'
>         (All instance types must be of the form (T t1 ... tn)
>          where T is not a synonym.
>          Use -XTypeSynonymInstances if you want to disable this.)
>     In the instance declaration for `Applicative (Writer w)'
> cabal: Error: some packages failed to install:
> derive- failed during the building phase. The exception was:
> ExitFailure 1

The problem appears to be that derive- does not work with
mtl-2.  The newest version of derive does, but yi specifies a
dependency on derive-2.3.*.  One thing worth trying is to

cabal fetch yi
cd yi-
$EDITOR yi.cabal

and change the 

  build-depends: derive >=2.3 && <2.4 

line to 

  build-depends: derive >=2.3 && <2.5

Then run 'cabal install' to build yi from the local directory.

If it works, you should inform the yi maintaner.


More information about the Haskell-Cafe mailing list