On Wed, Nov 29, 2006 at 06:14:56PM +0000, Conor McBride wrote: > > Mmm.lhs:15:1: > Contexts differ in length > When matching the contexts of the signatures for > foo :: forall (m :: * -> *). (Monad m) => Thing -> m Int > goo :: Thing -> (Maybe Int -> Int) -> Int > The signature contexts in a mutually recursive group should all be > identical > > Poking about on the web, I got the impression that this was a known > infelicity in ghc 6.4 (which I'm using), due to be ironed out. However, > an early-adopting colleague with 6.6 alleges that foo-goo is still > poisonous.
You can compile it with 6.6 if you use -fglasgow-exts. It's not clear to me whether this will always work, e.g. if you have higher rank types floating around, but if it does then we should add a hint to the error; Simon? > I'm wondering what the story is. I mean, is there some nasty > problem lurking here which prevents the lifting of this peculiar > restriction? I don't know either, but this sounds like a good thing to bring up for Haskell' if no-one has already. Thanks Ian _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe