gut*_*rie 2 haskell list-comprehension
有没有简单的方法来跟踪Haskell中List-comprehension的评估?它们非常紧凑,但也可能使它们难以调试.
列表理解相当简洁,通常易于理解.如果您对结果中未显示特定元素的原因感到困惑,您应该能够手动测试它.如果元素出现了您不期望的相同的事情.我从来不需要比GHCi更多的调试,但如果答案不满足你......
列表理解只是List monad的简写.如果将列表推导扩展为do表示法并添加显式trace语句(或使用GHCi调试器`),您应该能够快速发现错误.
我会用Debug.trace.像这样的东西:
[trace ("comprehending " ++ show x) (x + 1) | x <- [1..10]]
Run Code Online (Sandbox Code Playgroud)