Ghc:部分编译 Haskell 代码?
Ghc: partially compile Haskell code?
当我使用 ghci
编译 Haskell 文件时,通常使用 :load
,如果没有类型错误,所有表达式都会加载到 ghc 解释器中。非常好:我可以玩弄 :t
来找出各种表达式的类型。
我的问题是:如果某处出现小错误,ghci 无法加载任何东西(甚至不能加载导入的模块!!),这使得找到正确的类型更难了。我总是这样做:注释掉所有不进行类型检查的位,在 ghci 中使用 :t
找到相关类型,然后取消注释。
但这太乏味了! "partially compiling" Haskell 源代码有更好的工作流程吗?
正如@MikhailGlushenkov 在评论中指出的那样,解决方案是对 GHCi 使用 -fdefer-type-errors
标志。
当我使用 ghci
编译 Haskell 文件时,通常使用 :load
,如果没有类型错误,所有表达式都会加载到 ghc 解释器中。非常好:我可以玩弄 :t
来找出各种表达式的类型。
我的问题是:如果某处出现小错误,ghci 无法加载任何东西(甚至不能加载导入的模块!!),这使得找到正确的类型更难了。我总是这样做:注释掉所有不进行类型检查的位,在 ghci 中使用 :t
找到相关类型,然后取消注释。
但这太乏味了! "partially compiling" Haskell 源代码有更好的工作流程吗?
正如@MikhailGlushenkov 在评论中指出的那样,解决方案是对 GHCi 使用 -fdefer-type-errors
标志。