[GHC] #5625: Code using seq has wrong strictness when unoptimised (too lazy)

GHC cvs-ghc at haskell.org
Tue Nov 15 18:20:32 CET 2011


#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 <simonpj at microsoft.com>
 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



More information about the Glasgow-haskell-bugs mailing list