[GHC] #2439: Missed optimisation with dictionaries and loops

GHC ghc-devs at haskell.org
Thu Jul 9 11:23:59 UTC 2015


#2439: Missed optimisation with dictionaries and loops
-------------------------------------+-------------------------------------
        Reporter:  rl                |                   Owner:  simonpj
            Type:  bug               |                  Status:  new
        Priority:  lowest            |               Milestone:  7.12.1
       Component:  Compiler          |                 Version:  6.9
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by simonpj):

 I can't say I understand what is going on here, but in reify/reflect it
 seems that you want something akin to a local instance declaration.  You
 want to write:
 {{{
   reify (x :: a) (\ (p :: Proxy s) ->
                   ...In here we have (Reifies s a)...
                  )
 }}}
 And you want to supply the local instance of `(Reifies s a)` yourself.

 Isn't this just what implicit parameters are for?  They give you local
 instance declarations, in effect.

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


More information about the ghc-tickets mailing list