Pointers Haskell运行时如何表示惰性值?
我甚至不知道如何表达这个问题。 假设有一个指向未计算表达式的指针。如果请求它(由强制它的某个严格函数),则指针值将替换为所计算的值。对吗?我错了吗 因此,我假设每个指针都有一个标志,说明它是否已被计算 如果评估是未定义的,比如空列表的开头,该怎么办?“指针”中存储了什么 我假设有一个指向未计算表达式的指针。如果请求它(由强制它的某个严格函数),则指针值将替换为所计算的值。对吗?我错了吗 这就是要点 因此,我假设每个指针都有一个标志,说明它是否已被计算 每个指针都指向某个结构,在那里可以找到此类信息 如果评估是未定义的,比如空列表的开头,该怎么办?“指针”中存储了什么 指针指向其求值引发异常的表达式 详情见GHC wiki的下一页;具体参见“对象类型”: 数据构造函数、函数闭包、thunk(“未赋值表达式”)是主要的Pointers Haskell运行时如何表示惰性值?,pointers,haskell,lazy-evaluation,internal-representation,Pointers,Haskell,Lazy Evaluation,Internal Representation,我甚至不知道如何表达这个问题。 假设有一个指向未计算表达式的指针。如果请求它(由强制它的某个严格函数),则指针值将替换为所计算的值。对吗?我错了吗 因此,我假设每个指针都有一个标志,说明它是否已被计算 如果评估是未定义的,比如空列表的开头,该怎么办?“指针”中存储了什么 我假设有一个指向未计算表达式的指针。如果请求它(由强制它的某个严格函数),则指针值将替换为所计算的值。对吗?我错了吗 这就是要点 因此,我假设每个指针都有一个标志,说明它是否已被计算 每个指针都指向某个结构,在那里可以找到此类信