[GHC] #10405: Pattern synonym fails with (Exp Bool) but works with (t ~ Bool => Exp t)

GHC ghc-devs at haskell.org
Mon May 11 19:34:48 UTC 2015


#10405: Pattern synonym fails with (Exp Bool) but works with (t ~ Bool => Exp t)
-------------------------------------+-------------------------------------
        Reporter:  Iceland_jack      |                   Owner:
            Type:  bug               |                  Status:  closed
        Priority:  normal            |               Milestone:
       Component:  Compiler (Type    |                 Version:  7.10.1-rc1
  checker)                           |                Keywords:
      Resolution:  invalid           |            Architecture:  x86
Operating System:  Linux             |               Test Case:
 Type of failure:  GHC rejects       |                Blocking:
  valid program                      |  Differential Revisions:
      Blocked By:                    |
 Related Tickets:                    |
-------------------------------------+-------------------------------------
Changes (by rwbarton):

 * status:  new => closed
 * resolution:   => invalid


Comment:

 I think this is all expected behavior, although the syntax is confusing.

 See https://downloads.haskell.org/~ghc/latest/docs/html/users_guide
 /syntax-extns.html#idp23521760 and especially the item "In the common case
 where CReq is empty, (), it can be omitted altogether."

 In fact, your example is very similar to the last item under 7.3.9.3.

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


More information about the ghc-tickets mailing list