GHC の拡張機能は、基本的に 2 つの異なるカテゴリに分類できるかどうか疑問に思っていました
- 「構文糖」または利便性を提供するもの
- 新しいもの、たとえば新しいパラダイムを導入するもの。
既存の拡張機能を上記のカテゴリに分類できるとしたら、どの拡張機能がどのカテゴリに適合するでしょうか?
GHC の拡張機能は、基本的に 2 つの異なるカテゴリに分類できるかどうか疑問に思っていました
既存の拡張機能を上記のカテゴリに分類できるとしたら、どの拡張機能がどのカテゴリに適合するでしょうか?
より適切な分類は、コンパイラ パイプラインで分割することだと思います。
構文拡張
型システム拡張
分野横断的な拡張
最適化
コード生成拡張機能
ランタイム拡張
どう思いますか?すべてのフラグが (a) 既存の構造に関して定義可能である、または (b) コンパイラの新しい部分であるとは限りません。もっと微妙です。
他にも多くの拡張機能があります。この形式で分類できるかどうかを確認してください。
フラグは GHC のユーザー ガイドのフラグ リファレンスで既に分類されており、言語拡張機能は言語機能のセクションでさまざまなカテゴリに分類されています。