Haskell的Double绑定实例

Pet*_*lys 6 haskell

Prelude不提供Bounded Double实例。这是因为Double在Haskell中(绑定要求)没有min / max参数,还是原因不同?

che*_*ner 9

假设maxBound > x任何其他条件都成立x :: Bounded a => a,那么maxBound :: Doublebe 的值应该是多少?

> let nan = 0/0; infinity = 10.0**10000; in (nan > infinity, infinity > nan)
(False,False)
Run Code Online (Sandbox Code Playgroud)

由表示的数字Double是有界的,但类型Double中的值没有限制。

  • Haskell 98报告明确指出,有界类型不必完全有序(因为存在NaN值,所以不需要Double)。RealFloat允许找到可用的最高和最低数字,但无穷大不是数字,因此界限应该是有争议的。 (2认同)