Haskell Language役割


前書き

TypeFamilies言語拡張により、プログラマーは型レベル関数を定義することができます。タイプファンクションと非GADTタイプのコンストラクタを区別する点は、タイプファンクションのパラメータはノンパラメトリックであるのに対し、コンストラクタ型のパラメータは常にパラメトリックであることです。この区別は、 GeneralizedNewTypeDeriving拡張の正しさにとって重要です。この区別を説明するために、Haskellに役割が導入されています。

備考

SafeNewtypeDerivingも参照してください。

役割 関連する例