On 11 March 2010 12:50, Roman Beslik wrote:
> I also can force the analyzer to think that "x1" and "x0" are strict by
> eta-expanding "f3":
There seem to be two issues here.
1) GHC only figures out and records strictness information on lambdas
that are syntactically together. I'm not sure how ha
Hi all.
I provide a sample program which causes a strange behavior of strictness
analyzer.
variant 1 {{{
module StrictUnusedArg (main) where
f2 :: Int -> Int -> Int
f2 x1 = if x1 == 0 then (\x0 -> x0) else let
y = x1 - 1
in f3 y y
f3 :: Int -> Int -> Int -> Int
f3 x2 = if x2 == 0 then f