3

如果出现错误,扣除哪些语言杂注的正确方法是什么?很多时候,我发现自己遇到了一个我有一段时间无法弄清楚的错误。经过数小时的痛苦,我意识到/google/意外发现缺少语言杂注,并且在插入丢失的杂注后一切顺利。

它没有显示在错误中,没有像“尝试添加这样那样的编译指示”或类似的任何线索。我知道有经验的haskellers只是知道这一点。但是初学者呢?有没有办法指示编译器给出线索?

例如,我经常在使用 Snap 框架时遇到类型错误,除非我输入 {-# LANGUAGE ExtendedDefaultRules #-}。我只是尝试它,因为我在其他源文件中看到它。有没有办法打开所有常见的编译指示,或者至少找出在发生错误时需要哪些编译指示?

4

2 回答 2

0

GHC 现在建议针对最常见问题的编译指示。从未建议使用 ExtendedDefaultRules,因为它从来没有必要——相反,更明确的类型签名可以消除对它的需要。

于 2015-02-25T03:18:22.713 回答
-2

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

于 2012-11-30T02:11:47.667 回答