什么***CPSZ:在建造伊德里斯时在Cabal构建日志中意味着什么?

Log*_*ins 4 haskell ghc cabal idris

我目前正在建设伊德里斯cabal install idris.响应输出:

Redirecting build log to {handle:/home/me/.cabal/logs/idris-0.9.14.3.log}
Run Code Online (Sandbox Code Playgroud)

我决定跟踪构建tail -f /home/me/.cabal/logs/idris-0.9.14.3.log.

虽然大部分输出都是有意义的,但是:

Simplifier:
Result size of Simplifier iteration=1
  = {terms: 77,520, types: 104,583, coercions: 37,209}
Result size of Simplifier iteration=2
  = {terms: 59,582, types: 78,325, coercions: 18,371}
Run Code Online (Sandbox Code Playgroud)

有很多行只包含

*** CPSZ:

所以我想知道,纯粹是出于好奇," *** CPSZ:"代表什么.

Mik*_*kov 6

看起来这些重复的行是由GHC中错误引起的.至于CPSZ代表什么,它似乎意味着"延续传递式拉链".CPSZ传递(自从删除或重命名后)在Cmm代码上执行CPS转换.Cmm是GHC的内部表示语言之一."拉链"部分来自Cmm 控制流程图, 内部表示拉链.