[nightly] 22-Sep-2010 build of HEAD on i386-unknown-linux
simonpj at microsoft.com
Fri Sep 24 04:46:14 EDT 2010
| fits into a float. I was doing this before basically be having
| something like ((realToFrac :: Double -> Float) . (realToFrac :: Float
| -> Double)). Recently GHC seems to have learned to optimise this by
| removing that code completely. (Before if I told GHC not to inline
| some stuff this stopped it doing that, but not anymore it seems).
I'm agnostic about whether optimising realToFrac . realToFrac to the identity is OK (though I'd have thought so), but I don't think I see how it happens! Maybe a RULE? But I don't see one. If you can show it happening that'd be interesting.
More information about the Cvs-ghc