#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