Ghc:部分编译 Haskell 代码?

Ghc: partially compile Haskell code?

当我使用 ghci 编译 Haskell 文件时,通常使用 :load,如果没有类型错误,所有表达式都会加载到 ghc 解释器中。非常好:我可以玩弄 :t 来找出各种表达式的类型。

我的问题是:如果某处出现小错误,ghci 无法加载任何东西(甚至不能加载导入的模块!!),这使得找到正确的类型更难了。我总是这样做:注释掉所有不进行类型检查的位,在 ghci 中使用 :t 找到相关类型,然后取消注释。

但这太乏味了! "partially compiling" Haskell 源代码有更好的工作流程吗?

正如@MikhailGlushenkov 在评论中指出的那样,解决方案是对 GHCi 使用 -fdefer-type-errors 标志。