エラーが発生した場合に欠落している言語プラグマを推測する正しい方法は何ですか? しばらくの間、理解できないエラーが発生することがよくあります。何時間も苦しんだ後、言語プラグマが欠落していることに/google/偶然気づきました。欠落しているプラグマを挿入すると、すべてがうまくいきます。
エラーには表示されず、「あれこれプラグマを追加してみてください」などの手がかりはありません。経験豊富なハスケラーはそれを知っているだけだと私は理解しています。しかし、初心者はどうですか?手がかりを与えるようにコンパイラに指示する方法はありますか?
たとえば、{-# LANGUAGE ExtendedDefaultRules #-} を指定しないと、Snap フレームワークで型エラーが発生することがよくあります。他のソースファイルで見たので試してみました。すべての一般的なプラグマをオンにする方法、またはエラーが発生した場合に必要なプラグマを少なくとも把握する方法はありますか?