generic-accessors-0.7.1.0: stringly-named getters for generic data
Safe HaskellNone
LanguageHaskell2010

Accessors.Dynamic

Synopsis

Documentation

data DData Source #

Constructors

DData String DConstructor 

Instances

Instances details
Eq DData Source # 
Instance details

Defined in Accessors.Dynamic

Methods

(==) :: DData -> DData -> Bool #

(/=) :: DData -> DData -> Bool #

Data DData Source # 
Instance details

Defined in Accessors.Dynamic

Methods

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

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

toConstr :: DData -> Constr #

dataTypeOf :: DData -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord DData Source # 
Instance details

Defined in Accessors.Dynamic

Methods

compare :: DData -> DData -> Ordering #

(<) :: DData -> DData -> Bool #

(<=) :: DData -> DData -> Bool #

(>) :: DData -> DData -> Bool #

(>=) :: DData -> DData -> Bool #

max :: DData -> DData -> DData #

min :: DData -> DData -> DData #

Show DData Source # 
Instance details

Defined in Accessors.Dynamic

Methods

showsPrec :: Int -> DData -> ShowS #

show :: DData -> String #

showList :: [DData] -> ShowS #

Generic DData Source # 
Instance details

Defined in Accessors.Dynamic

Associated Types

type Rep DData :: Type -> Type #

Methods

from :: DData -> Rep DData x #

to :: Rep DData x -> DData #

Binary DData Source # 
Instance details

Defined in Accessors.Dynamic

Methods

put :: DData -> Put #

get :: Get DData #

putList :: [DData] -> Put #

Serialize DData Source # 
Instance details

Defined in Accessors.Dynamic

Methods

put :: Putter DData #

get :: Get DData #

type Rep DData Source # 
Instance details

Defined in Accessors.Dynamic

type Rep DData = D1 ('MetaData "DData" "Accessors.Dynamic" "generic-accessors-0.7.1.0-L9H18b7SnGe5zF1Su5kqVy" 'False) (C1 ('MetaCons "DData" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DConstructor)))

data DConstructor Source #

Instances

Instances details
Eq DConstructor Source # 
Instance details

Defined in Accessors.Dynamic

Data DConstructor Source # 
Instance details

Defined in Accessors.Dynamic

Methods

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

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

toConstr :: DConstructor -> Constr #

dataTypeOf :: DConstructor -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord DConstructor Source # 
Instance details

Defined in Accessors.Dynamic

Show DConstructor Source # 
Instance details

Defined in Accessors.Dynamic

Generic DConstructor Source # 
Instance details

Defined in Accessors.Dynamic

Associated Types

type Rep DConstructor :: Type -> Type #

Binary DConstructor Source # 
Instance details

Defined in Accessors.Dynamic

Serialize DConstructor Source # 
Instance details

Defined in Accessors.Dynamic

type Rep DConstructor Source # 
Instance details

Defined in Accessors.Dynamic

data DSimpleEnum Source #

Constructors

DSimpleEnum [String] Int 

Instances

Instances details
Eq DSimpleEnum Source # 
Instance details

Defined in Accessors.Dynamic

Data DSimpleEnum Source # 
Instance details

Defined in Accessors.Dynamic

Methods

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

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

toConstr :: DSimpleEnum -> Constr #

dataTypeOf :: DSimpleEnum -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord DSimpleEnum Source # 
Instance details

Defined in Accessors.Dynamic

Show DSimpleEnum Source # 
Instance details

Defined in Accessors.Dynamic

Generic DSimpleEnum Source # 
Instance details

Defined in Accessors.Dynamic

Associated Types

type Rep DSimpleEnum :: Type -> Type #

Binary DSimpleEnum Source # 
Instance details

Defined in Accessors.Dynamic

Serialize DSimpleEnum Source # 
Instance details

Defined in Accessors.Dynamic

type Rep DSimpleEnum Source # 
Instance details

Defined in Accessors.Dynamic

type Rep DSimpleEnum = D1 ('MetaData "DSimpleEnum" "Accessors.Dynamic" "generic-accessors-0.7.1.0-L9H18b7SnGe5zF1Su5kqVy" 'False) (C1 ('MetaCons "DSimpleEnum" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

data DField Source #

a dynamic field

Instances

Instances details
Eq DField Source # 
Instance details

Defined in Accessors.Dynamic

Methods

(==) :: DField -> DField -> Bool #

(/=) :: DField -> DField -> Bool #

Data DField Source # 
Instance details

Defined in Accessors.Dynamic

Methods

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

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

toConstr :: DField -> Constr #

dataTypeOf :: DField -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord DField Source # 
Instance details

Defined in Accessors.Dynamic

Show DField Source # 
Instance details

Defined in Accessors.Dynamic

Generic DField Source # 
Instance details

Defined in Accessors.Dynamic

Associated Types

type Rep DField :: Type -> Type #

Methods

from :: DField -> Rep DField x #

to :: Rep DField x -> DField #

Binary DField Source # 
Instance details

Defined in Accessors.Dynamic

Methods

put :: DField -> Put #

get :: Get DField #

putList :: [DField] -> Put #

Serialize DField Source # 
Instance details

Defined in Accessors.Dynamic

type Rep DField Source # 
Instance details

Defined in Accessors.Dynamic

type Rep DField = D1 ('MetaData "DField" "Accessors.Dynamic" "generic-accessors-0.7.1.0-L9H18b7SnGe5zF1Su5kqVy" 'False) (((C1 ('MetaCons "DDouble" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)) :+: (C1 ('MetaCons "DFloat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)) :+: C1 ('MetaCons "DInt8" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8)))) :+: (C1 ('MetaCons "DInt16" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16)) :+: (C1 ('MetaCons "DInt32" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :+: C1 ('MetaCons "DInt64" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64))))) :+: ((C1 ('MetaCons "DWord8" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :+: (C1 ('MetaCons "DWord16" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16)) :+: C1 ('MetaCons "DWord32" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))) :+: ((C1 ('MetaCons "DWord64" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)) :+: C1 ('MetaCons "DString" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "DUnit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DSorry" 'PrefixI 'False) (U1 :: Type -> Type)))))

toDData :: forall a. Lookup a => a -> DTree Source #

convert to a dynamic value

updateLookupable :: Lookup a => a -> DTree -> Either String a Source #

Update something using a dynamic representation

sameDFieldType :: DField -> DField -> Bool Source #

Returns True if the type of fields is the same.

some utility functions for working with DSimpleEnums

denumToString :: DSimpleEnum -> Either String String Source #

Get the constructor string or an error message.

denumToStringOrMsg :: DSimpleEnum -> String Source #

Get the constructor string or an error message without telling which is which.

denumSetString :: DSimpleEnum -> String -> Either String DSimpleEnum Source #

Try to update an enum with its constructor. Fail if not a valid constructor.

denumSetIndex :: DSimpleEnum -> Int -> Either String DSimpleEnum Source #

Try to update an enum with its index. Fail if out of bounds.