I'm currently building Idris via cabal install idris
. In response to the output:
Redirecting build log to {handle:/home/me/.cabal/logs/idris-0.9.14.3.log}
I decided to track the build with tail -f /home/me/.cabal/logs/idris-0.9.14.3.log
.
While much of the output is meaningful, along the lines of:
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}
There are many lines that only contain
*** CPSZ:
So I was wondering, purely out of curiosity, what "*** CPSZ:
" represents.
Looks like these duplicated lines were caused by a bug in GHC. As to what CPSZ stands for, it appears to mean "continuation passing style zipper". The CPSZ pass (which was since either removed or renamed) performed CPS-conversion on Cmm code. Cmm is one of GHC's internal representation languages. The "zipper" part comes from Cmm control flow graph being represented as a zipper internally.