patch applied (ghc): Improve the treatment of 'seq' (Trac #2273)
Don Stewart
dons at galois.com
Fri May 16 11:49:07 EDT 2008
simonpj:
> Fri May 16 01:51:49 PDT 2008 simonpj at microsoft.com
> * Improve the treatment of 'seq' (Trac #2273)
>
> Trac #2273 showed a case in which 'seq' didn't cure the space leak
> it was supposed to. This patch does two things to help
>
> a) It removes a now-redundant special case in Simplify, which
> switched off the case-binder-swap in the early stages. This
> isn't necessary any more because FloatOut has improved since
> the Simplify code was written. And switching off the binder-swap
> is harmful for seq.
>
> However fix (a) is a bit fragile, so I did (b) too:
>
> b) Desugar 'seq' specially. See Note [Desugaring seq (2)] in DsUtils
> This isn't very robust either, since it's defeated by abstraction,
> but that's not something GHC can fix; the programmer should use
> a let! instead.
>
>
By let! do you mean
let !x = ...
?
-- Don
More information about the Cvs-ghc
mailing list