#5205: Control.Monad.forever leaks space
---------------------------------+------------------------------------------
    Reporter:  akio              |        Owner:  simonpj                
        Type:  bug               |       Status:  new                    
    Priority:  highest           |    Milestone:  7.2.1                  
   Component:  libraries/base    |      Version:  7.0.3                  
    Keywords:                    |     Testcase:                         
   Blockedby:                    |   Difficulty:                         
          Os:  Unknown/Multiple  |     Blocking:                         
Architecture:  Unknown/Multiple  |      Failure:  Runtime performance bug
---------------------------------+------------------------------------------
Changes (by simonmar):

  * owner:  igloo => simonpj


Comment:

 Ok, we looked at this, and it turns out that 6.12.3 desugars `forever`
 differently: in 6.12, a local recursive `let` was introduced, which meant
 that `forever` could be inlined (and hence specialised) at every call
 site, whereas in 7.0 the desugarer leaves the function as a top-level
 recursive function which cannot be inlined.

 The solution is to add an `INLINABLE` pragma for `forever`, which will
 allow it to be specialised at a call site.

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

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to