#3404: Strictness analysis bug with Double
---------------------------+------------------------------------------------
Reporter: lpsmith | Owner:
Type: bug | Status: closed
Priority: normal | Milestone: 7.0.1
Component: Compiler | Version: 6.10.4
Resolution: fixed | Keywords:
Testcase: | Blockedby:
Difficulty: Unknown | Os: Unknown/Multiple
Blocking: | Architecture: Unknown/Multiple
Failure: None/Unknown |
---------------------------+------------------------------------------------
Changes (by michalt):
* cc: michal.terep...@… (added)
* failure: => None/Unknown
* status: new => closed
* resolution: => fixed
Comment:
Works fine with both
{{{
The Glorious Glasgow Haskell Compilation System, version 6.12.3
The Glorious Glasgow Haskell Compilation System, version 7.1.20101008
}}}
And looking at the Core it's clear that the accumulator is strict:
{{{
$wsum' :: [Double]
-> Double#
-> Double#
$wsum' =
\ (w_s11u :: [Double]) (ww_s11x :: Double#) ->
case w_s11u of _ {
[] -> ww_s11x;
: x_aoc xs_aod ->
case x_aoc of _ { D# y_a10A ->
$wsum' xs_aod (+## ww_s11x y_a10A)
}
}
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3404#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