DerivingStrategies
例
code:hs
{-# LANGUAGE DerivingStrategies #-} (data|newtype) Data = Data Declaration
deriving STRATEGY (TypeClasses, Separated, By Comma)
deriving STRATEGY (Or, Separate, Clauses)
deriving (And, Even, Without, A, Strategy)
By Commaってなに
data|newtypeってなに
ここでは11個の型クラスをderivingしようとしていて、3つのグループに分けて戦略を与えてるとか?
例
code:hs
data ChristmasTreats = Candies | Chocolate | MincedPie
deriving stock (Show, Read, Eq, Ord, Enum, Bounded, Ix)
これは普通にderivingしたものと同じ意味
冗長に書いてるだけmrsekut.icon