[GHC] #9062: Role: ~# should be ~R#
#9062: Role: ~# should be ~R# ------------------------------------+--------------------------------- Reporter: conal | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Keywords: | Operating System: MacOS X Architecture: Unknown/Multiple | Type of failure: None/Unknown Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | ------------------------------------+--------------------------------- The following coercion showed up in Core. Richard Eisenberg pointed out that the `~#` should be `~R#`. {{{ <Tree N0 Int>_R -> NTCo:Sum[0] <Int>_R :: (Tree N0 Int -> Sum Int) ~# (Tree N0 Int -> Int) }}} I can dig up more information if needed. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9062> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9062: Role: ~# should be ~R# ---------------------------------+------------------------------------ Reporter: conal | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: MacOS X | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ---------------------------------+------------------------------------ Comment (by simonpj): I can't say for sure (would need to reproduce), but I think that a coercion `(co1 -> co2)` is represented by a `TyConAppCo`, which in turn carries a role. So it looks as if the role on that `TyConAppCo` with `(->)` in the type constructor position is plain wrong. Is this with your plugin, or is this plain GHC? How can we reproduce? Simon -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9062#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9062: Role: ~# should be ~R# ---------------------------------+------------------------------------ Reporter: conal | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: MacOS X | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ---------------------------------+------------------------------------ Comment (by goldfire): I asked Conal to post the report. The problem is just in the pretty- printer, which should produce `~R#` if the coercion is representational (as it is, in this case). -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9062#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9062: Role: ~# should be ~R# ---------------------------------+------------------------------------ Reporter: conal | Owner: goldfire Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: MacOS X | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ---------------------------------+------------------------------------ Changes (by simonpj): * owner: => goldfire Comment: OK, Richard, so you know what's going on and can fix? Thanks. Simon -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9062#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9062: Role: ~# should be ~R# -------------------------------------------------+------------------------- Reporter: conal | Owner: Type: bug | goldfire Priority: normal | Status: new Component: Compiler | Milestone: Resolution: | Version: 7.8.2 Operating System: MacOS X | Keywords: Type of failure: None/Unknown | Architecture: Test Case: roles/should_compile/Roles13 | Unknown/Multiple Blocking: | Difficulty: | Unknown | Blocked By: | Related Tickets: -------------------------------------------------+------------------------- Changes (by goldfire): * testcase: => roles/should_compile/Roles13 Comment: Patch on the way... -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9062#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9062: Role: ~# should be ~R# -------------------------------------------------+------------------------- Reporter: conal | Owner: Type: bug | goldfire Priority: normal | Status: new Component: Compiler | Milestone: Resolution: | Version: 7.8.2 Operating System: MacOS X | Keywords: Type of failure: None/Unknown | Architecture: Test Case: roles/should_compile/Roles13 | Unknown/Multiple Blocking: | Difficulty: | Unknown | Blocked By: | Related Tickets: -------------------------------------------------+------------------------- Comment (by Richard Eisenberg <eir@…>): In [changeset:"e79e2c3996181a1179cf4a1357981f4ed9759203/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="e79e2c3996181a1179cf4a1357981f4ed9759203" Fix #9062. Removed (pprEqPred (coercionKind co)) in favor of (pprType (coercionType co)). Also had to make "~R#" a *symbolic* identifier and BuiltInSyntax to squelch prefix notation and module prefixes in output. These changes are both sensible independent of #9062. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9062#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9062: Role: ~# should be ~R# -------------------------------------------------+------------------------- Reporter: conal | Owner: Type: bug | goldfire Priority: normal | Status: Component: Compiler | closed Resolution: fixed | Milestone: Operating System: MacOS X | Version: 7.8.2 Type of failure: None/Unknown | Keywords: Test Case: roles/should_compile/Roles13 | Architecture: Blocking: | Unknown/Multiple | Difficulty: | Unknown | Blocked By: | Related Tickets: -------------------------------------------------+------------------------- Changes (by goldfire): * status: new => closed * resolution: => fixed -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9062#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC