GHC来源"zonk"是什么意思?



我正在为GHC做一个插件,所以我正在阅读它的一些实现文档。

动词"zonk"到处都是,但我找不到一个解释它是什么意思,或者(广义地说)当一个人想要zonk的时候。我可以找到很多关于复杂情况的笔记,在这些情况下有必要进行分区或不进行分区,但没有关于大局的线索,我很难跟上。

一个未分区的类型可以有类型变量,这些变量是在统一期间填充的可变引用(类型检查器大量使用这种可变性来提高性能)。分区遍历类型并将所有可变引用替换为它们解引用的类型;因此,生成的结构是不可变的,不需要解引用来解释。

请注意,这些类型变量是meta变量,即它们不对应于由多态性引入的类型变量;相反,它们是将被实类型替换的统一变量。替换的选择由类型检查/类型推断过程决定,然后在分区时进行实际替换。

分区的概念自然地扩展到包含类型的类型检查器的其他中间表示。

最新更新