#5129: "evaluate" optimized away
---------------------------------+------------------------------------------
    Reporter:  dons              |        Owner:  simonmar                   
        Type:  bug               |       Status:  new                        
    Priority:  normal            |    Milestone:                             
   Component:  Compiler          |      Version:  7.0.3                      
    Keywords:  seq, evaluate     |     Testcase:                             
   Blockedby:                    |   Difficulty:                             
          Os:  Unknown/Multiple  |     Blocking:                             
Architecture:  Unknown/Multiple  |      Failure:  Incorrect result at runtime
---------------------------------+------------------------------------------

Comment(by marlowsd@…):

 commit be5441799b7d94646dcd4bfea15407883537eaaa
 Author: Simon Marlow <marlo...@gmail.com>
 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/5129#comment:14>
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