On Sat, Jul 07, 2007 at 10:53:17PM -0400, Scott Stoller wrote: > hi, > > thanks to Stefan, I am past the second problem in compiling this program > (needed to change 'bounds' to 'getBounds'). now I get a more intimidating > error message... > > I am trying to compile paradox 1.0, an older (GHC 5) Haskell program, with > GHC 6.6.1. I get the intimidating error message shown below. I would > appreciate any advice about how to fix this. I am guessing that the > problem might be a change in the type of some library function. > > best regards, > scott > > p.s. the file causing the error is in the paradox source code at > http://www.cs.sunysb.edu/~stoller/out/paradox-1.0-casc.tar.gz
Add {-# OPTIONS_GHC -fno-mono-pat-binds #-} You are the fourth person to discover monomorphic pattern bindings :) As an experiment, the GHC team has changed GHC to make pattern bindings (like MkT m = tm) default to only produce values usable at one type. The full generality of Haskell-98's rules complicated the implementation, and the idea was that if sufficiently few people complained, the next version of Haskell could use simpler rules. (at least that's how *I* remember the explanation.) Another workaround is to do it with an explicit unwrap: where m = case tm of MkT m -> m instead of where MkT m = tm Stefan _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users