It looks like you forgot to pass a compiler flag, namely -fglasgow-exts.

Cheers,
Spencer Janssen

On Tue, 13 Mar 2007 22:20:20 -0700 (PDT)
SevenThunders <[EMAIL PROTECTED]> wrote:

> 
> I have the pleasure of porting a good sized Haskell application to
> linux. So far the Haskell code has compiled without incident, however
> some code that I hacked
> to implement a Read instance for Unboxed Arrays does not compile on
> linux even though it compiles just fine on Windows XP in Haskell 6.6.
> 
> The code reads as,
> 
> instance   Read (UArray Int Double)  where
>     readsPrec p = readParen (p > 9)
>            (\r -> [(array b as :: UArray Int Double, u) | ("array",s)
> <- lex r,
>                                      (b,t)       <- reads s,
>                                      (as,u)      <- reads t   ])
> 
> 
> The error in linux is:
>     Illegal instance declaration for `Read (UArray Int Double)'
>         (The instance type must be of form (T a b c)
>          where T is not a synonym, and a,b,c are distinct type
> variables) In the instance declaration for `Read (UArray Int Double)'
> 
> Why does it want three parameters for the instance type?  I am
> baffled by this.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to