fadno-xml-1.2.1: XML/XSD combinators/schemas/codegen
Safe HaskellSafe-Inferred
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
Monoid EmitState Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Semigroup EmitState Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

(<>) :: EmitState -> EmitState -> EmitState

sconcat :: NonEmpty EmitState -> EmitState

stimes :: Integral b => b -> EmitState -> EmitState

types :: Lens' EmitState (Map Name Type) Source #

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
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

Show Name Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> Name -> ShowS

show :: Name -> String

showList :: [Name] -> ShowS

Eq Name Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

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

data Namespace Source #

Namespaces for various productions.

Instances

Instances details
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

Bounded Namespace Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Enum Namespace Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Show Namespace Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> Namespace -> ShowS

show :: Namespace -> String

showList :: [Namespace] -> ShowS

Eq Namespace Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

(==) :: Namespace -> Namespace -> Bool

(/=) :: Namespace -> Namespace -> Bool

Ord Namespace Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

compare :: Namespace -> Namespace -> Ordering

(<) :: Namespace -> Namespace -> Bool

(<=) :: Namespace -> Namespace -> Bool

(>) :: Namespace -> Namespace -> Bool

(>=) :: Namespace -> Namespace -> Bool

max :: Namespace -> Namespace -> Namespace

min :: Namespace -> Namespace -> Namespace

data Cardinality Source #

Field cardinality

Constructors

One 
ZeroOrOne 
Many 

Instances

Instances details
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

Bounded Cardinality Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Enum Cardinality Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Show Cardinality Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> Cardinality -> ShowS

show :: Cardinality -> String

showList :: [Cardinality] -> ShowS

Eq Cardinality Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

(==) :: Cardinality -> Cardinality -> Bool

(/=) :: Cardinality -> Cardinality -> Bool

Ord Cardinality Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

data Field Source #

Type field.

Instances

Instances details
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

Show Field Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> Field -> ShowS

show :: Field -> String

showList :: [Field] -> ShowS

Eq Field Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

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

fieldIdx :: Lens' Field Int Source #

data FieldEmit Source #

Field xml emit cue.

Instances

Instances details
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

Show FieldEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> FieldEmit -> ShowS

show :: FieldEmit -> String

showList :: [FieldEmit] -> ShowS

Eq FieldEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

(==) :: FieldEmit -> FieldEmit -> Bool

(/=) :: FieldEmit -> FieldEmit -> Bool

Ord FieldEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

compare :: FieldEmit -> FieldEmit -> Ordering

(<) :: FieldEmit -> FieldEmit -> Bool

(<=) :: FieldEmit -> FieldEmit -> Bool

(>) :: FieldEmit -> FieldEmit -> Bool

(>=) :: FieldEmit -> FieldEmit -> Bool

max :: FieldEmit -> FieldEmit -> FieldEmit

min :: FieldEmit -> FieldEmit -> FieldEmit

data Ctor Source #

Datatype constructor.

Constructors

Ctor 

Fields

Instances

Instances details
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

Show Ctor Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> Ctor -> ShowS

show :: Ctor -> String

showList :: [Ctor] -> ShowS

Eq Ctor Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

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

ctorName :: Lens' Ctor String Source #

data Type Source #

Emitted type.

Instances

Instances details
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

Show Type Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> Type -> ShowS

show :: Type -> String

showList :: [Type] -> ShowS

Eq Type Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

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

typeType :: Traversal' Type Type Source #

typeCtors :: Traversal' Type [Ctor] Source #

typeEnumValues :: Traversal' Type [String] Source #

coreType :: Traversal' Type CoreType Source #

data DerivesFamily Source #

Derive type "families".

Instances

Instances details
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

Bounded DerivesFamily Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Enum DerivesFamily Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Show DerivesFamily Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> DerivesFamily -> ShowS

show :: DerivesFamily -> String

showList :: [DerivesFamily] -> ShowS

Eq DerivesFamily Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Ord DerivesFamily Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

data DataTypeEmit Source #

Data type xml emit cue.

Instances

Instances details
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

Show DataTypeEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> DataTypeEmit -> ShowS

show :: DataTypeEmit -> String

showList :: [DataTypeEmit] -> ShowS

Eq DataTypeEmit Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

(==) :: DataTypeEmit -> DataTypeEmit -> Bool

(/=) :: DataTypeEmit -> DataTypeEmit -> Bool

Ord 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
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

Bounded CoreType Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Enum CoreType Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Show CoreType Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> CoreType -> ShowS

show :: CoreType -> String

showList :: [CoreType] -> ShowS

Eq CoreType Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

(==) :: CoreType -> CoreType -> Bool

(/=) :: CoreType -> CoreType -> Bool

Ord CoreType Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

compare :: CoreType -> CoreType -> Ordering

(<) :: CoreType -> CoreType -> Bool

(<=) :: CoreType -> CoreType -> Bool

(>) :: CoreType -> CoreType -> Bool

(>=) :: CoreType -> CoreType -> Bool

max :: CoreType -> CoreType -> CoreType

min :: CoreType -> CoreType -> CoreType

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
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

Show Impl Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

showsPrec :: Int -> Impl -> ShowS

show :: Impl -> String

showList :: [Impl] -> ShowS

Eq Impl Source # 
Instance details

Defined in Fadno.Xml.EmitTypes

Methods

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

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

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