#5262: Compiling with -O makes some expressions too lazy and causes space leaks
-------------------------------------------------+--------------------------
Reporter: michal.palka | Owner: simonmar
Type: bug | Status: new
Priority: normal | Milestone: 7.4.1
Component: Compiler | Version: 7.1
Keywords: laziness, strictness, space leak | Testcase:
Blockedby: | Difficulty:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: Incorrect
result at runtime
-------------------------------------------------+--------------------------
Comment(by marlowsd@…):
commit be5441799b7d94646dcd4bfea15407883537eaaa
Author: Simon Marlow <[email protected]>
Date: Mon Jun 27 16:45:15 2011 +0100
Add two new primops:
seq# :: a -> State# s -> (# State# s, a #)
spark# :: a -> State# s -> (# State# s, a #)
seq# is a version of seq that can be used in a State#-passing
context. We will use it to implement Control.Exception.evaluate and
thus fix #5129. Also we have plans to use it to fix #5262.
spark# is to seq# as par is to pseq. That is, it creates a spark in a
State#-passing context. We will use spark# and seq# to implement rpar
and rseq respectively in an improved implementation of the Eval monad.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5262#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs