#2915: Arity is smaller than need be
---------------------------------------+------------------------------------
  Reporter:  simonpj                   |          Owner:  simonpj         
      Type:  run-time performance bug  |         Status:  new             
  Priority:  normal                    |      Milestone:                  
 Component:  Compiler                  |        Version:  6.10.1          
  Severity:  normal                    |       Keywords:                  
Difficulty:  Unknown                   |       Testcase:                  
        Os:  Unknown/Multiple          |   Architecture:  Unknown/Multiple
---------------------------------------+------------------------------------
 Consider
 {{{
 h x = let f = case x of { True -> t1; False -> t2 }
           in (f,f)
 }}}
 where `t1` and `t2` have arity 1. You'd think that `f` should have arity
 1, but it doesn't.  (Reason: `exprArity`, used in
 `Simplify.addNonRecWithUnf`, doesn't look through the case.)

 Fix this as part of the upcoming arity cleanup.

 Simon

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