[GHC] #11383: CAFs lose sharing due to implicit call stacks

GHC ghc-devs at haskell.org
Fri Jan 8 20:30:15 UTC 2016


#11383: CAFs lose sharing due to implicit call stacks
-------------------------------------+-------------------------------------
        Reporter:  simonmar          |                Owner:  gridaphobe
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.0.1
       Component:  Compiler          |              Version:  8.0.1-rc1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #11298            |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonmar):

 `-ffull-laziness` lifts the expensive computation outside the implicit
 parameter, so recovering the sharing that was lost by the introduction of
 the implicit parameter constraint.  It doesn't change the meaning.

 This is only an issue for CAFs, because functions already have a lambda at
 the outside so there's no sharing to lose. (CAFs are a notorious problem
 for stack tracing, incidentally, because you get to choose between losing
 sharing and losing information)

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


More information about the ghc-tickets mailing list