RE: gadt changes in ghc 6.10

2008-10-30 Thread Simon Peyton-Jones
| In your case the error message was: | | GADT.hs:26:56: | GADT pattern match with non-rigid result type `Maybe a' | Solution: add a type signature | In a case alternative: I1 m' - m' | In the expression: case w' S of { I1 m' - m' } | In a case alternative: Wrap w' - case

RE: gadt changes in ghc 6.10

2008-10-15 Thread Simon Peyton-Jones
| After installing ghc 6.10-rc, I have a program that | no longer compiles. I get the dreaded GADT pattern match | error, instead :) I'm sorry it's dreaded! Jason is right that the key point is this: GHC now enforces the rule that in a GADT pattern match - the type of the scrutinee

Re: gadt changes in ghc 6.10

2008-10-15 Thread Daniel Gorín
Hi, Simon Thanks a lot for your mail. It turns out I could have resolved this by myself (with the help of this thread http://thread.gmane.org/gmane.comp.lang.haskell.glasgow.user/15153 , to be honest). What I was missing was this key part: bind :: forall a b t. W t a - (a - W t b) - W_ t b

Re: gadt changes in ghc 6.10

2008-10-14 Thread Don Stewart
dgorin: I've tried adding some signatures (together with - XScopedTypeVariables), but with no luck. Why is it that this no longer compiles? More importantly, how can I make it compile again? :) If you work out how to make it compile, can you document the soln. here,

Re: gadt changes in ghc 6.10

2008-10-14 Thread Daniel Gorín
On Oct 14, 2008, at 7:48 PM, Don Stewart wrote: dgorin: I've tried adding some signatures (together with - XScopedTypeVariables), but with no luck. Why is it that this no longer compiles? More importantly, how can I make it compile again? :) If you work out how to make it compile, can

Re: gadt changes in ghc 6.10

2008-10-14 Thread Jason Dagit
On Tue, Oct 14, 2008 at 7:27 AM, Daniel Gorín [EMAIL PROTECTED] wrote: Hi After installing ghc 6.10-rc, I have a program that no longer compiles. I get the dreaded GADT pattern match error, instead :) Here is a boiled-down example: {-# OPTIONS_GHC -XGADTs -XEmptyDataDecls #-} module