derive-topdown-0.1.0.0: Derive type class instances
Copyright(c) Song Zhang
LicenseBSD-style (see the LICENSE file)
Maintainerhaskell.zhang.song `at` hotmail.com
Stabilityexperimental
Portabilitynon-portable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Derive.TopDown

Description

 
Synopsis

Documentation

char :: Name Source #

Char# type

int :: Name Source #

Int# type

int8 :: Name Source #

Int8# type

int16 :: Name Source #

Int16# type

int32 :: Name Source #

Int32# type

int64 :: Name Source #

Int64# type

word :: Name Source #

Word# type

word8 :: Name Source #

Word8# type

word16 :: Name Source #

Word16# type

word32 :: Name Source #

Word32# type

word64 :: Name Source #

Word64# type

primitives :: [Name] Source #

list of Name: [char, int, int8, int16, int32, int64, word, word8, word16, word32, word64]

state :: Name Source #

GHC.Prim.State# type

realWorld :: Name Source #

GHC.Prim.RealWorld# type

stock :: DerivStrategy Source #

The name sock and anyclass are still allowed to be used as functions or arguments. See https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/DerivingStrategies

anyclass :: DerivStrategy Source #

The name sock and anyclass are still allowed to be used as functions or arguments. See https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/DerivingStrategies

newtype_ :: DerivStrategy Source #

The name sock and anyclass are still allowed to be used as functions or arguments. See https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/DerivingStrategies

data DerivStrategy #

What the user explicitly requests when deriving an instance.

Constructors

StockStrategy

A "standard" derived instance

AnyclassStrategy
-XDeriveAnyClass
NewtypeStrategy
-XGeneralizedNewtypeDeriving

Instances

Instances details
Data DerivStrategy 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DerivStrategy -> c DerivStrategy #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DerivStrategy #

toConstr :: DerivStrategy -> Constr #

dataTypeOf :: DerivStrategy -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DerivStrategy) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DerivStrategy) #

gmapT :: (forall b. Data b => b -> b) -> DerivStrategy -> DerivStrategy #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DerivStrategy -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DerivStrategy -> r #

gmapQ :: (forall d. Data d => d -> u) -> DerivStrategy -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DerivStrategy -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DerivStrategy -> m DerivStrategy #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DerivStrategy -> m DerivStrategy #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DerivStrategy -> m DerivStrategy #

Generic DerivStrategy 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep DerivStrategy :: Type -> Type #

Show DerivStrategy 
Instance details

Defined in Language.Haskell.TH.Syntax

Eq DerivStrategy 
Instance details

Defined in Language.Haskell.TH.Syntax

Ord DerivStrategy 
Instance details

Defined in Language.Haskell.TH.Syntax

type Rep DerivStrategy 
Instance details

Defined in Language.Haskell.TH.Syntax

type Rep DerivStrategy = D1 ('MetaData "DerivStrategy" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((C1 ('MetaCons "StockStrategy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AnyclassStrategy" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "NewtypeStrategy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ViaStrategy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))