#5625: Code using seq has wrong strictness when unoptimised (too lazy)
-------------------------------------------+--------------------------------
    Reporter:  michal.palka                |        Owner:  simonpj             
       
        Type:  bug                         |       Status:  new                 
       
    Priority:  high                        |    Milestone:  7.4.1               
       
   Component:  Compiler                    |      Version:  7.3                 
       
    Keywords:  seq strictness strict lazy  |     Testcase:                      
       
   Blockedby:                              |   Difficulty:                      
       
          Os:  Unknown/Multiple            |     Blocking:                      
       
Architecture:  Unknown/Multiple            |      Failure:  Incorrect result at 
runtime
-------------------------------------------+--------------------------------

Comment(by simonpj@…):

 commit a522c3b25eea1fe40edae7052335acce75e8a1c3
 {{{
 Author: Simon Peyton Jones <[email protected]>
 Date:   Fri Nov 11 20:08:42 2011 +0000

     Tighten up the definition of arityType a bit further,
     to make Trac #5625 work.  The main change is that
     we eta-expand (case x of p -> \y. blah) only if the
     case-expression is in the context of a \x.  That is still
     technically unsound, but it makes a big difference to
     performance; and the change narrows the unsound cases
     a lot.

  compiler/coreSyn/CoreArity.lhs |  140
 +++++++++++++++++++++++-----------------
  1 files changed, 80 insertions(+), 60 deletions(-)
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5625#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

Reply via email to