Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell GHC来源是什么意思;宗克;?_Haskell_Ghc - Fatal编程技术网

Haskell GHC来源是什么意思;宗克;?

Haskell GHC来源是什么意思;宗克;?,haskell,ghc,Haskell,Ghc,我正在为GHC开发一个插件,所以我正在阅读一些关于其实现的文档 动词“tozonk”到处都是,但我找不到一个解释,来解释什么是“zonk”,或者(广义地说)什么时候你可能想要。我可以找到很多关于复杂情况的注释,在这些复杂情况下,有必要对某件事情进行缩放或不缩放,但我不知道这是一个什么样的大画面,因此我很难理解。未缩放的类型可以有类型变量,这些变量是统一过程中填写的可变引用(类型检查器大量使用这种可变性来提高性能)。Zonking遍历一个类型,并用其解引用的类型替换所有可变性引用;因此,生成的结构

我正在为GHC开发一个插件,所以我正在阅读一些关于其实现的文档


动词“tozonk”到处都是,但我找不到一个解释,来解释什么是“zonk”,或者(广义地说)什么时候你可能想要。我可以找到很多关于复杂情况的注释,在这些复杂情况下,有必要对某件事情进行缩放或不缩放,但我不知道这是一个什么样的大画面,因此我很难理解。

未缩放的类型可以有类型变量,这些变量是统一过程中填写的可变引用(类型检查器大量使用这种可变性来提高性能)。Zonking遍历一个类型,并用其解引用的类型替换所有可变性引用;因此,生成的结构是不可变的,不需要解引用来解释

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


zonking的这一概念自然扩展到包含类型的typechecker的其他中间表示形式。

太悦耳了!“zonking遍历一个类型,返回一个新类型,其中统一变量被它们统一到的类型替换。”-。不过,我对这件事记忆犹新,没有留下比这更有用的答案。