[GHC] #12108: Function type synonym fails in pattern synonym
#12108: Function type synonym fails in pattern synonym -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Keywords: | Operating System: Unknown/Multiple PatternSynonyms | Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: 11977 Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- {{{#!hs pattern Id :: a -> a pattern Id x = x }}} works but {{{#!hs -- • Pattern synonym ‘Id’ has one argument -- but its type signature has none -- • In the declaration for pattern synonym ‘Id’ type Endo a = a -> a pattern Id :: Endo a pattern Id x = x }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12108> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12108: Function type synonym fails in pattern synonym -------------------------------------+------------------------------------- Reporter: Iceland_jack | 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: 11977 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by Iceland_jack): * cc: mpickering (added) -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12108#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: | -------------------------------------+------------------------------------- Changes (by simonpj): * owner: => simonpj Comment: Similar to #11977, which I am fixing. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12108#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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
#12108: Function type synonym fails in pattern synonym -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: simonpj Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: fixed | Keywords: | PatternSynonyms Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | patsyn/should_compile/T12108 Blocked By: | Blocking: Related Tickets: 11977 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonpj): * status: new => closed * testcase: => patsyn/should_compile/T12108 * resolution: => fixed -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12108#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC