私は以前にこの質問$
をしましたが、多くの調査の結果、GHC が中置とのみに適用される特別な規則があると結論付けました.
。
この質問については、GHC がRankNTypes - Haskell Primeページで言及されているシステムに従っていると想定しています。
RankNTypes - Haskell Primeページには次のように記載されています。
明示的な署名のないパラメーター変数は、上方推論ではモノタイプが割り当てられますが、下方チェックでは任意のランクの型を継承する場合があります。
「割り当てられたモノタイプ」とは、すべての修飾子を最も外側のレベルに移動することにより、ランク N の型がランク 1 の型に変換されることを意味すると推測しています。
また、これが、以前の質問をする原因となった異常な型エラーの原因であると考えています。
だから私はいくつかの質問があります:
1) monotype への暗黙の変換について GHC に警告 (またはエラー) させる方法はありますか? 以前の質問の型エラーは解決するのに時間がかかりました。モノタイプへの変換の警告は、型エラーよりも役に立ちました。
2)暗黙の「モノタイプへの割り当て」が賢明な行動である場合はありますか?もしそうなら、例を挙げていただけますか?
3) infix$
とについて.
は、GHC では特別なルールがあるようです。これはどこに文書化されていますか? また、GHC には他に何か特別な規則がありますか? それらはどこに文書化されていますか?