
#12823: Inconsistency in acceptance of equality constraints in different forms -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 8.0.1 checker) | Resolution: | Keywords: GADTs Operating System: Unknown/Multiple | Architecture: Type of failure: GHC accepts | Unknown/Multiple invalid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by dfeuer): Replying to [comment:1 rwbarton]:
I assume `EqualF` should be `EqualS`.
Indeed.
As long as we're allowing the full application of a multiparameter type class in a module with no extensions in the first place (strictly speaking, it should be a syntax error in Haskell 2010), I see no purpose in rejecting either of your functions in module `B`.
My concern: `GADTs` implies `MonoLocalBinds` because (for reasons I don't personally understand) GADTs don't play well with let generalization. Since the `Equal` class and `ExistentialQuantification` are sufficient to simulate GADTs, I would expect them to run into the same inference fragility issues without `MonoLocalBinds`. Am I missing something? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12823#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler