deriving strategy
[deriving]の仕方には複数の方法がありうるつまりある型クラスをいくつかの方法で導出しうるコンパイラはその中から適切なものを選択しないといけない特定の導出方法は[deriving strategy]と呼ばれる型クラスとデータ型の組み合わせによって使用できる戦略が複数ある場合もある
data Person = Person
{ name:: String
, age::Int
} deriving (Eq)
==
や /=
が使える ==
で比較できるようになった Person
が一致しているかを比較 name
, age
の中身を ==
を使って比較する
-ddump-deriv
-dsuppress-idinfo
-dsuppress-coercions
-dsuppress-type-applications
-dsuppress-uniques
-dsuppress-module-prefixes