[GHC] #9953: Pattern synonyms don't work with GADTs

GHC ghc-devs at haskell.org
Wed Jan 7 21:27:44 UTC 2015


#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


More information about the ghc-tickets mailing list