[GHC] #15090: Do more coercion optimisation on the fly

GHC ghc-devs at haskell.org
Thu May 3 08:02:13 UTC 2018


#15090: Do more coercion optimisation on the fly
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Compiler          |              Version:  8.2.2
      Resolution:                    |             Keywords:  Coercions
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):

 I tried to figure out how to do this, but I'm a bit confused - `mkTransCo`
 takes two coercions and builds a `TransCo` from them, but IIUC, the
 optimisation we're talking about should detect suitable `NthCo`'s and turn
 them into `AppCo`s. So I don't quite understand why this needs to be done
 in `mkTransCo` rather than `mkNthCo`. Or should `mkTransCo` drill down
 into its arguments and perform the optimisation on those?

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15090#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list