Haskell语言编译指示

时间:2012-11-30 02:07:41

标签: haskell

如果出现错误,有什么方法可以减少哪些语言编译指示丢失? 我经常发现自己有一段时间无法弄清楚的错误。经过几个小时的痛苦,我意识到/谷歌/意外地发现一个语言编译指示丢失,并且在插入缺失的编译指示后一切顺利。

错误中没有显示,没有像“尝试添加这样的pragma”或其他类似的线索。我知道经验丰富的haskeller只知道它。但是初学者怎么样?有没有办法指示编译器提供线索?

例如,除非我放置{ - #LANGUAGE ExtendedDefaultRules# - },否则我经常会遇到Snap框架的类型错误。我只是尝试它,因为我在其他源文件中看到它。 有没有办法切换所有常见的编译指示或至少找出出现错误时需要哪些编译指示?

2 个答案:

答案 0 :(得分:0)

GHC现在建议最常见问题的pragma。永远不会建议使用ExtendedDefaultRules,因为它永远不是必需的 - 相反,更明确的类型签名可以避免对它的需要。

答案 1 :(得分:-2)

我对Snap框架了解不多。如果使用GHC,则可以将语言编译指示用作编译器指令的一部分:http://www.haskell.org/ghc/docs/7.0.4/html/users_guide/pragmas.html