为了调试程序需要,将函数中的变量信息打印出来,支持以下方式:
import Debug.Trace
1、 IO action的情况
如 main:: IO()
main:: IO ()
main = do
let x = 3
print x
putStrLn "Hello world"
2、 非 pure Monad情况,不支持IO
如:
numbers :: [Int]
numbers = do
x <- [1, 2, 3]
traceShow x (pure ())
y <- [4, 5, 6]
traceShow y (pure ())
pure (x * y)
参考资料:
[1] https://stackoverflow.com/questions/53441113/haskell-how-to-print-some-value-in-a-function-for-debugging-purpose