如果出现错误,扣除哪些语言杂注的正确方法是什么?很多时候,我发现自己遇到了一个我有一段时间无法弄清楚的错误。经过数小时的痛苦,我意识到/google/意外发现缺少语言杂注,并且在插入丢失的杂注后一切顺利。
它没有显示在错误中,没有像“尝试添加这样那样的编译指示”或类似的任何线索。我知道有经验的haskellers只是知道这一点。但是初学者呢?有没有办法指示编译器给出线索?
例如,我经常在使用 Snap 框架时遇到类型错误,除非我输入 {-# LANGUAGE ExtendedDefaultRules #-}。我只是尝试它,因为我在其他源文件中看到它。有没有办法打开所有常见的编译指示,或者至少找出在发生错误时需要哪些编译指示?