
#9953: Pattern synonyms don't work with GADTs -------------------------------------+------------------------------------- Reporter: simonpj | Owner: cactus Type: bug | Status: new Priority: normal | Milestone: 7.10.1 Component: Compiler (Type | Version: 7.10.1-rc1 checker) | Keywords: Resolution: | PatternSynonyms Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by simonpj): No, it's quite different to the produced/required distinction. The produced/required distinction is for things like matching against `(Just 34)`, which required `(Num a, Eq a)` to perform the match. And my point is that we '''cannot''' say that the type signature for a pattern should mean the same thing that it would for a data constructor; the type signatures for `P1` and `P2` make this clear. It may be sad but it's absolutely ineluctable. Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9953#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler