[GHC] #5205: Control.Monad.forever leaks space
GHC
cvs-ghc at haskell.org
Thu Jun 9 12:12:49 CEST 2011
#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
More information about the Glasgow-haskell-bugs
mailing list