Ghc:部分编译Haskell代码



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

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

但这太乏味了!有没有更好的工作流程来"部分编译"Haskell源代码?

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

最新更新