[GHC] #12108: Function type synonym fails in pattern synonym

GHC ghc-devs at haskell.org
Tue May 24 08:47:05 UTC 2016


#12108: Function type synonym fails in pattern synonym
-------------------------------------+-------------------------------------
        Reporter:  Iceland_jack      |                Owner:  simonpj
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:
                                     |  PatternSynonyms
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  11977             |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Simon Peyton Jones <simonpj@…>):

 In [changeset:"03d8960388d64f5d5c9617dd0e21555e9e987e26/ghc"
 03d89603/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="03d8960388d64f5d5c9617dd0e21555e9e987e26"
 Don't split the arg types in a PatSyn signature

 This patch fixes Trac #11977, and #12108, rather satisfactorily
 maily by deleting code!

   pattern P :: Eq a => a -> a -> Int

 The idea is simply /not/ to split the bit after the '=>' into the
 pattern argument types, but to keep the (a->a->Int) part
 un-decomposed, in the patsig_body_ty field of a TcPatSynInfo.

 There is one awkward wrinkle, which is that we can't split the
 implicitly-bound type variables into existential and universal until
 we know which types are arguments and which are part of the result.
 So we postpone the decision until we have the declaration in hand.
 See TcPatSyn Note [The pattern-synonym signature splitting rule]
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12108#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list