fadno-xml-1.2: XML/XSD combinators/schemas/codegen
Safe HaskellNone
LanguageHaskell2010

Fadno.Xml.EmitTypes

Description

Consume a Schema and emit types intended for code generation.

Synopsis

XSD Schema to types

emitSchema :: Schema -> Emit () Source #

Emit schema types. Starts with element productions and emits all dependent types.

Emit various productions

emitElement :: Element -> Emit Type Source #

Emit type for element content; element name production captured in containing field.

emitSimpleType :: SimpleType -> Emit Type Source #

Handle simpleType production.

emitComplexType :: Maybe QN -> ComplexType -> Emit Type Source #

Complex type. anon arg indicates element-defined complex type, therefore unique; otherwise defined type.

emitCompositor :: [QN] -> Compositor -> Emit [Field] Source #

Emit compositor field.

emitGroup :: [QN] -> Group -> Emit [Field] Source #

Emit group. Referenced groups make types, others pass through.

emitChoice :: [QN] -> Choice -> Maybe Documentation -> Emit [Field] Source #

Choice production.

emitSequence :: [QN] -> Maybe Occurs -> Sequence -> Maybe Documentation -> Emit [Field] Source #

Sequence production.

emitParticle :: [QN] -> Particle -> Emit [Field] Source #

Particle field production. Element fields emit containing element.

emitAttrFields :: Attributes -> Emit [Field] Source #

Handle attribute and attribute group productions as fields.

Emit monad

type Emit a = ReaderT Env (StateT EmitState IO) a Source #

Emit monad.

data Env Source #

Reader environment.

Constructors

Env 

Fields

data EmitState Source #

State data.

Constructors

EmitState 

Fields

Instances

Instances details
Semigroup EmitState Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Monoid EmitState Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

runEmit :: Env -> EmitState -> Emit a -> IO (a, EmitState) Source #

Run emit monad.

die :: MonadIO m => String -> m a Source #

Error out in IO.

Types

data Name Source #

Type name.

Constructors

Name 

Fields

Instances

Instances details
Eq Name Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

Data Name Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

toConstr :: Name -> Constr #

dataTypeOf :: Name -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord Name Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

compare :: Name -> Name -> Ordering #

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

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

(>) :: Name -> Name -> Bool #

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

max :: Name -> Name -> Name #

min :: Name -> Name -> Name #

Show Name Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> Name -> ShowS #

show :: Name -> String #

showList :: [Name] -> ShowS #

data Namespace Source #

Namespaces for various productions.

Instances

Instances details
Bounded Namespace Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Enum Namespace Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Eq Namespace Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Data Namespace Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

toConstr :: Namespace -> Constr #

dataTypeOf :: Namespace -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord Namespace Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Show Namespace Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

data Cardinality Source #

Field cardinality

Constructors

One 
ZeroOrOne 
Many 

Instances

Instances details
Bounded Cardinality Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Enum Cardinality Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Eq Cardinality Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Data Cardinality Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

toConstr :: Cardinality -> Constr #

dataTypeOf :: Cardinality -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord Cardinality Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Show Cardinality Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

data Field Source #

Type field.

Instances

Instances details
Eq Field Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

Data Field Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

toConstr :: Field -> Constr #

dataTypeOf :: Field -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord Field Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

compare :: Field -> Field -> Ordering #

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

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

(>) :: Field -> Field -> Bool #

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

max :: Field -> Field -> Field #

min :: Field -> Field -> Field #

Show Field Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> Field -> ShowS #

show :: Field -> String #

showList :: [Field] -> ShowS #

data FieldEmit Source #

Field xml emit cue.

Instances

Instances details
Eq FieldEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Data FieldEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

toConstr :: FieldEmit -> Constr #

dataTypeOf :: FieldEmit -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord FieldEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Show FieldEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

data Ctor Source #

Datatype constructor.

Constructors

Ctor 

Instances

Instances details
Eq Ctor Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

Data Ctor Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

toConstr :: Ctor -> Constr #

dataTypeOf :: Ctor -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord Ctor Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

compare :: Ctor -> Ctor -> Ordering #

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

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

(>) :: Ctor -> Ctor -> Bool #

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

max :: Ctor -> Ctor -> Ctor #

min :: Ctor -> Ctor -> Ctor #

Show Ctor Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> Ctor -> ShowS #

show :: Ctor -> String #

showList :: [Ctor] -> ShowS #

data Type Source #

Emitted type.

Instances

Instances details
Eq Type Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

Data Type Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

toConstr :: Type -> Constr #

dataTypeOf :: Type -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord Type Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

compare :: Type -> Type -> Ordering #

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

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

(>) :: Type -> Type -> Bool #

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

max :: Type -> Type -> Type #

min :: Type -> Type -> Type #

Show Type Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> Type -> ShowS #

show :: Type -> String #

showList :: [Type] -> ShowS #

data DerivesFamily Source #

Derive type "families".

Instances

Instances details
Bounded DerivesFamily Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Enum DerivesFamily Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Eq DerivesFamily Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Data DerivesFamily Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

toConstr :: DerivesFamily -> Constr #

dataTypeOf :: DerivesFamily -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord DerivesFamily Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Show DerivesFamily Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

data DataTypeEmit Source #

Data type xml emit cue.

Instances

Instances details
Eq DataTypeEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Data DataTypeEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

toConstr :: DataTypeEmit -> Constr #

dataTypeOf :: DataTypeEmit -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord DataTypeEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Show DataTypeEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

data CoreType Source #

newtype base types. Name after CT should be Haskell base type.

Instances

Instances details
Bounded CoreType Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Enum CoreType Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Eq CoreType Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Data CoreType Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

toConstr :: CoreType -> Constr #

dataTypeOf :: CoreType -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord CoreType Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Show CoreType Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

data Impl Source #

Impls of classes, but also grab-bag of type deets.

Constructors

Bounds (Maybe (Bound String), Maybe (Bound String))

Specifies min and max values

Pattern String

Specifies string pattern

NewTypeShow

Implement Show for newtype

TopLevel

Top-level element, so emit element name as well as contents. Elements normally inherit the name from the referencing production.

Instances

Instances details
Eq Impl Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

Data Impl Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

toConstr :: Impl -> Constr #

dataTypeOf :: Impl -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord Impl Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

compare :: Impl -> Impl -> Ordering #

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

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

(>) :: Impl -> Impl -> Bool #

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

max :: Impl -> Impl -> Impl #

min :: Impl -> Impl -> Impl #

Show Impl Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> Impl -> ShowS #

show :: Impl -> String #

showList :: [Impl] -> ShowS #