Source code with large floating constants in exponential notation cannot be compiled
|Reported by:||gracjan||Owned by:||pcapriotti|
|Type of failure:||Compile-time crash||Test Case:|
|Related Tickets:||5688||Differential Rev(s):|
Source code cannot be compiled:
main = do print (123e124124124 :: Double)
where this one can be and will work after #5688 is fixed:
main = do print (read "123e124124124" :: Double)
Haskell Report forces Float and Double to go through Rational:
When exponent is big it produces very large Rational numbers. That takes a lot of time and usually ends in out of memory condition.
This is similar to #5688, but at compile time.