generated at
GADTs
GADTをするGHC拡張
{-# LANGUAGE GADTs #-}
GATDsを使うとGADTSyntaxも有効になる





これら2つは等価
hs
-- 普通の構文 data List a = Empty | Cons a (List a) -- GADT の構文 data List a where Empty :: List a Cons :: a -> List a -> List a
DataKindsしたノリで値コンストラクタを定義できるのかmrsekut
1行ごとに値コンストラクタを定義する





何が嬉しい?
ユースケースを知りたい
高階多相型するときに制限を設けられる?



参考