Learn You a Haskellを読んだだけで理解できる DataKinds 拡張機能の説明を見つけようとしています。私が少し学んだことで意味をなす標準的なソースはありますか?
編集:たとえば、ドキュメントには
-XDataKinds を指定すると、GHC は自動的にすべての適切なデータ型を種類に昇格させ、その (値) コンストラクターを型コンストラクターに昇格させます。以下の種類
そして例を挙げます
data Nat = Ze | Su Nat
次の種類と型コンストラクターを生成します。
Nat :: BOX
Ze :: Nat
Su :: Nat -> Nat
要点がわかりません。BOX
どういう意味かはわかりませんが、ステートメントZe :: Nat
とステートメントSu :: Nat -> Nat
は、ghci で期待されるのとまったく同じように、Ze と Su が通常のデータ コンストラクターであるという通常のケースを述べているようです。
Prelude> :t Su
Su :: Nat -> Nat