
#11735: Optimize coercionKind -------------------------------------+------------------------------------- Reporter: goldfire | Owner: (none) Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by tdammers): Replying to [comment:19 simonpj]:
* In your `coercionRole`, `get_app` never uses its second argument! So you can get rid of it entirely I think {{{ go (InstCo co _) = go co }}}
Good catch, hadn't noticed. Thanks!
* `Note [Computing a coercion kind and role]` claims that computing the result of `coercionRole (NthCo d co)` requires `coercionKind`. But it manifestly does not. '''Richard''' is this note simply wrong?
No, it's not wrong, see my earlier comment - `coercionRole` now recurses via `coercionKindRole` in the `where` clause. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11735#comment:22 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler