[GHC] #8246: Role annotations does not allow the use of parenthesis
#8246: Role annotations does not allow the use of parenthesis -------------------------------------+------------------------------------- Reporter: DaniilFrumin | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Parser) | Version: 7.7 Keywords: roles | Operating System: Unknown/Multiple Architecture: Unknown/Multiple | Type of failure: None/Unknown Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | -------------------------------------+------------------------------------- There is an inconsistency in roles/kinds annotations wrt parenthesis. For example, the following code compiles just fine {{{ data A (a::*) = A }}} unlike this code {{{ data A (a@R) = A }}} which results in a compilation error: Unexpected type `a@R' where type variable expected In the declaration of `A (a@R)' As Austin Seipp has pointed out, it boils down to simply: 'data A (a) = A' This also prompts for further [http://ghc.haskell.org/trac/ghc/wiki/Roles#Roleandkindannotations discussion] about role annotations in presence of kind annotations [1]. For example, should '((a :: *)@R)' be a correct annotation? Related (?) ticket: #8185 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8246> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8246: Role annotations does not allow the use of parenthesis --------------------------------------+------------------------------------ Reporter: DaniilFrumin | Owner: goldfire Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Parser) | Version: 7.7 Resolution: | Keywords: roles Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: --------------------------------------+------------------------------------ Changes (by goldfire): * owner: => goldfire Comment: Thanks for this report. I'll make sure to fix in the general annotation syntax overhaul from #8185. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8246#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8246: Role annotations does not allow the use of parenthesis --------------------------------------+------------------------------------ Reporter: DaniilFrumin | Owner: goldfire Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Parser) | Version: 7.7 Resolution: | Keywords: roles Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: --------------------------------------+------------------------------------ Comment (by Richard Eisenberg <eir@…>): In [changeset:f4046b508a5a71ff2e28f438b30048867dbad428/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="f4046b508a5a71ff2e28f438b30048867dbad428" Change role annotation syntax. This fixes bugs #8185, #8234, and #8246. The new syntax is explained in the comments to #8185, appears in the "Roles" subsection of the manual, and on the [wiki:Roles] wiki page. This change also removes the ability for a role annotation on type synonyms, as noted in #8234. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8246#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8246: Role annotations does not allow the use of parenthesis --------------------------------------+------------------------------------ Reporter: DaniilFrumin | Owner: goldfire Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler (Parser) | Version: 7.7 Resolution: fixed | Keywords: roles Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: --------------------------------------+------------------------------------ Changes (by goldfire): * status: new => closed * resolution: => fixed -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8246#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC