
#15081: Finite list becomes infinite after maping fractional function for high numbers -------------------------------------+------------------------------------- Reporter: Onsed | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: 8.8.1 Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 | (amd64) Type of failure: Incorrect result | Test Case: at runtime | libraries/base/tests/enumNumeric Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4650 Wiki Page: | -------------------------------------+------------------------------------- Comment (by thomie): It is still possible to get an infinite list with `enumFromThenTo` and `Double`: {{{
[9007199254740992,9007199254740993..9007199254740994]::[Double] <infinite list> }}}
Another funny result: {{{
[9007199254740993..9007199254740991]::[Double] [9.007199254740992e15,9.007199254740992e15] }}}
Notice that `from` is bigger than `to`, so one would expect an empty list as a result. Like svenpanne said in comment:5:
The underlying problem stays: You can write more precise Integers than Double can represent, and enumerating floating point numbers is inherently fragile.
-- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15081#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler