Don't float an expression wrapped in a cast
authorsimonpj@microsoft.com <unknown>
Tue, 21 Oct 2008 14:30:19 +0000 (14:30 +0000)
committersimonpj@microsoft.com <unknown>
Tue, 21 Oct 2008 14:30:19 +0000 (14:30 +0000)
commite1e3d37b988c8839a74552bcebeef7f9293b0a6c
tree0861f8363ccb86a5aa79ab83f8b11b612ed9edc0
parentda1de991e04dd9a25e9c7253ade7eadf9f399c84
Don't float an expression wrapped in a cast

There is no point in floating out an expression wrapped in a coercion;
If we do we'll transform
lvl = e |> co [_$_]
to
lvl' = e; lvl = lvl' |> co
and then inline lvl.  Better just to float out the payload (e).
compiler/simplCore/SetLevels.lhs