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

时间:2014-10-03 12:05:10

标签: haskell ghc cabal idris

我目前正在通过cabal install idris建立Idris。响应输出:

Redirecting build log to {handle:/home/me/.cabal/logs/idris-0.9.14.3.log}

我决定使用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}

有很多行只包含

*** CPSZ:

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

1 个答案:

答案 0 :(得分:6)

看起来这些重复的行是由bug in GHC引起的。至于CPSZ代表什么,它似乎意味着"continuation passing style zipper"。 CPSZ传递(自删除或重命名后)在Cmm代码上执行CPS-conversion。 Cmm是GHC的内部表示语言之一。 “zipper”部分来自Cmm control flow graph being represented,内部为zipper