【发布时间】:2023-03-06 20:59:01
【问题描述】:
为什么 GHC 的 Int type 不能保证使用 32 位精度? This document claim 它具有至少 30 位有符号精度。它是否与将Maybe Int 或类似的东西装入 32 位有关?
【问题讨论】:
-
会有更多细节的其他人,但我认为这与垃圾收集和懒惰有关。一点用于“被评估”,一点用于由 GC 复制。虽然不是 100% 确定。
-
如果您需要保证 32 位,在
Data.Int中有Int32类型。 -
没有上限,因为它取决于平台:在 64x 机器上
Prelude.maxBound :: Int应该在 2^63 左右