[GHC] #12804: forever contains a space leak
GHC
ghc-devs at haskell.org
Fri Nov 4 13:10:24 UTC 2016
#12804: forever contains a space leak
-------------------------------------+-------------------------------------
Reporter: tomjaguarpaw | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: | Version: 8.0.1
libraries/base |
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Runtime
Unknown/Multiple | performance bug
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
4.9.0.0's `forever` (implemented in terms of `Applicative`) has a space
leak for certain base `Monad`s. The old `forever` (implemented in terms
of `Monad`) does not.
See these messages for details
* https://mail.haskell.org/pipermail/haskell-cafe/2016-October/125177.html
* https://mail.haskell.org/pipermail/haskell-cafe/2016-October/125178.html
* https://mail.haskell.org/pipermail/haskell-
cafe/2016-November/125443.html
This is not necessarily `forever`'s fault. It seems likely that the
broken behaviour that occurs with `ReaderT` and `StateT` (on `IO`) could
be fixed by a specialised implementation of `*>` (for `ReaderT` and
`StateT`).
Perhaps, then, this bug should ultimately be fixed in `transformers` (and
various other packages which supply `Applicative`s) but it is a regression
introduced by base-4.9.0.0 so I think it's worthwhile to discuss here.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12804>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list