在开发过程中,我可以要求GHC为每个模块导入Debug.Trace吗?

Bar*_*icz 8 haskell ghc haskell-stack

标题非常明显.我经常在调试时添加跟踪,这需要添加Debug.Trace导入.但是,当我完成时,我同样经常忘记删除那些.

我想要的是一个"dev"开关,可以添加导入,这样当我禁用它时,我可以很容易地找到代码中留下的所有痕迹.

Mic*_*ael 4

trace为什么不从内部 .Utils 模块导入跟踪,而不是直接从 Debug.Trace 导入跟踪,并在完成后删除该模块的导出?

这是不同的,但我在某处找到的另一个权宜之计是在trace _ = id和之间切换import Debug.Trace (trace)。然后,您可以在使用(真实)和执行基准测试之类的事情之间来回切换trace,这当然会被trace. 然后,当您完成所有这些操作后,您可以删除(任一)的导出trace并查找您曾在项目中使用过它的所有剩余证据......