{-# LANGUAGE DeriveDataTypeable, DeriveFunctor, DeriveFoldable, DeriveTraversable, DeriveGeneric, DeriveLift, DeriveAnyClass #-} module DataDeriving where import Definitions data D1 a = D1 a deriving Show data D2 a = D2 a deriving Eq data D3 a = D3 a deriving Data {-* DeriveDataTypeable *-} data D4 a = D4 a deriving Functor {-* DeriveFunctor *-} data D5 a = D5 a deriving (Eq, Ord, Typeable, Foldable, C1) {-* DeriveDataTypeable, DeriveFoldable, DeriveAnyClass *-} data D6 a = D6 deriving (Eq, Ord, Enum, Ix, Bounded, Show, Read, Data, Typeable, Functor, Foldable, Traversable, {-* DeriveDataTypeable, DeriveDataTypeable, DeriveFunctor, DeriveFoldable, DeriveTraversable *-} Generic, Lift) {-* DeriveGeneric, DeriveLift *-}