
#12187: Clarify the scoping of existentials for pattern synonym signatures -------------------------------------+------------------------------------- Reporter: mpickering | Owner: 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: #12108 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): I don't think it's complicated. {{{ qualifier ::= forall tv1 .. tvn. | forall tv1 .. tvn. ctxt => | ctxt => body ::= btype -> body | type -- without an arrow at the top pat_ty ::= qualifier qualifier body -- Univ and ext | qualifier body -- Univ only | body }}} A qualifier has a `forall` or `=>` or both. A pattern type has zero, one, or two qualifiers. Needless to say I'm open to better ideas. But we need SOME way to specify it. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12187#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler