【发布时间】:2013-06-25 16:35:36
【问题描述】:
我的理解是,Int 值是指向 thunk(双重间接)的指针,而未装箱的 Int# 只是指向 32/64 位 int 的指针。那是对的吗?指针如何对它引用未装箱值的事实进行编码?
Haskell standard 声明 Int 是“至少具有 [-2^29 .. 2^29-1] 范围的固定精度整数类型”。 GHC 中是否有一些优化,其中这些额外的位用于消除间接性?
【问题讨论】:
-
@DonStewart 这个答案只是说 Int# 需要一个存储字,而不是 explicit 关于 word 只是整数本身的事实,没有别的,这是OP 需要知道什么。