cvs commit: fptools/ghc/compiler/stranal DmdAnal.lhs
Simon Peyton Jones
simonpj@glass.cse.ogi.edu
Tue, 6 Nov 2001 06:19:24 -0800
simonpj 2001/11/06 06:19:24 PST
Modified files:
ghc/compiler/stranal DmdAnal.lhs
Log:
---------------------------------------
Fix YET ANOTHER lub/both bug in DmdAnal
---------------------------------------
MERGE TO 5.02 branch (it's a real bug)
Two bugs actually. One showed up in a program by
Jeremy Manson, and led to an "entered absent arg"
error. The problem was
Err `lub` U(L,A) /= U(L,A)
which is what we had. It should be
Err `lub` U(L,A) = U(Err `lub` L, Err `lub` A)
= U(LL)
The second bug was found by Peter Sestoft while
staring at the code.
V `lub` Defer(ds) /= U(L)
It should be Lazy on the RHS.
Very large sigh.
Revision Changes Path
1.30 +28 -8 fptools/ghc/compiler/stranal/DmdAnal.lhs