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

标签 haskell ghc haskell-stack

标题非常不言自明。我经常在调试时添加跟踪,这需要添加 Debug.Trace 导入。然而,我同样经常忘记在完成后删除它们。

我想要的是一个“dev”开关,它可以添加导入,这样当我禁用它时,我可以轻松找到代码中留下的所有痕迹。

最佳答案

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

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

关于haskell - 我可以要求 GHC 在开发过程中为每个模块导入 Debug.Trace 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37320807/

相关文章:

haskell - 定义实例与使用类约束

c++ - 使用 haskell 构建动态库并在 C++ 中使用它

haskell - 尝试时链接错误 "stack install yesod-bin"

haskell - Haskell 案例语句中的 "Possibly incorrect indentation"

haskell - 从列表中获取特定构造函数的第一次出现的惯用方法

macos - 让 Leksah 在 Mac OS X 10.5.8 上运行

haskell - 在 Mac 上安装 Haskell 时使用 NonZeroExit 77 构建失败,ghcup --cache install”失败

haskell - 未找到堆栈初始化包

list - Haskell : Map and Zip A List

haskell - 测试两个异构值之间的相等性