| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Fadno.Xml.EmitTypes
Description
Consume a Schema and emit types intended for code generation.
Synopsis
- emitSchema :: Schema -> Emit ()
- emitElement :: Element -> Emit Type
- emitSimpleType :: SimpleType -> Emit Type
- emitComplexType :: Maybe QN -> ComplexType -> Emit Type
- emitCompositor :: [QN] -> Compositor -> Emit [Field]
- emitGroup :: [QN] -> Group -> Emit [Field]
- emitChoice :: [QN] -> Choice -> Maybe Documentation -> Emit [Field]
- emitSequence :: [QN] -> Maybe Occurs -> Sequence -> Maybe Documentation -> Emit [Field]
- emitParticle :: [QN] -> Particle -> Emit [Field]
- emitAttrFields :: Attributes -> Emit [Field]
- type Emit a = ReaderT Env (StateT EmitState IO) a
- data Env = Env {}
- schema :: Iso' Env Schema
- data EmitState = EmitState {}
- types :: Lens' EmitState (Map Name Type)
- stack :: Lens' EmitState [Name]
- runEmit :: Env -> EmitState -> Emit a -> IO (a, EmitState)
- die :: MonadIO m => String -> m a
- data Name = Name {
- nNamespace :: Namespace
- nName :: QN
- nIdx :: Int
- data Namespace
- data Cardinality
- data Field = Field {
- _fieldName :: QN
- _fieldType :: Type
- _fieldCardinality :: Cardinality
- _fieldXmlEmit :: FieldEmit
- _fieldIdx :: Int
- fieldName :: Lens' Field QN
- fieldType :: Lens' Field Type
- fieldCardinality :: Lens' Field Cardinality
- fieldXmlEmit :: Lens' Field FieldEmit
- fieldIdx :: Lens' Field Int
- data FieldEmit
- data Ctor = Ctor {
- _ctorName :: String
- _ctorFields :: [Field]
- ctorName :: Lens' Ctor String
- ctorFields :: Lens' Ctor [Field]
- data Type
- = NewType {
- _typeName :: Name
- _typeType :: Type
- _typeDerives :: DerivesFamily
- _typeImpls :: [Impl]
- _typeDoc :: Maybe Documentation
- | DataType {
- _typeName :: Name
- _typeCtors :: [Ctor]
- _typeDerives :: DerivesFamily
- _typeImpls :: [Impl]
- _typeEmit :: DataTypeEmit
- _typeDoc :: Maybe Documentation
- | EnumType {
- _typeName :: Name
- _typeEnumValues :: [String]
- _typeDerives :: DerivesFamily
- _typeImpls :: [Impl]
- _typeDoc :: Maybe Documentation
- | BuiltIn {
- _typeName :: Name
- _coreType :: CoreType
- _typeDerives :: DerivesFamily
- _typeImpls :: [Impl]
- = NewType {
- typeName :: Lens' Type Name
- typeType :: Traversal' Type Type
- typeDerives :: Lens' Type DerivesFamily
- typeImpls :: Lens' Type [Impl]
- typeEmit :: Traversal' Type DataTypeEmit
- typeCtors :: Traversal' Type [Ctor]
- typeEnumValues :: Traversal' Type [String]
- coreType :: Traversal' Type CoreType
- data DerivesFamily
- data DataTypeEmit
- data CoreType
- data Impl
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
Types
Type name.
Instances
| Data Name Source # | |
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 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 # | |
| Eq Name Source # | |
| Ord Name Source # | |
Namespaces for various productions.
Instances
| Data Namespace Source # | |
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 # | |
Defined in Fadno.Xml.EmitTypes | |
| Enum Namespace Source # | |
Defined in Fadno.Xml.EmitTypes | |
| Show Namespace Source # | |
| Eq Namespace Source # | |
| Ord Namespace Source # | |
Defined in Fadno.Xml.EmitTypes | |
data Cardinality Source #
Field cardinality
Instances
| Data Cardinality Source # | |
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 # | |
Defined in Fadno.Xml.EmitTypes | |
| Enum Cardinality Source # | |
Defined in Fadno.Xml.EmitTypes Methods succ :: Cardinality -> Cardinality pred :: Cardinality -> Cardinality toEnum :: Int -> Cardinality fromEnum :: Cardinality -> Int enumFrom :: Cardinality -> [Cardinality] enumFromThen :: Cardinality -> Cardinality -> [Cardinality] enumFromTo :: Cardinality -> Cardinality -> [Cardinality] enumFromThenTo :: Cardinality -> Cardinality -> Cardinality -> [Cardinality] | |
| Show Cardinality Source # | |
Defined in Fadno.Xml.EmitTypes Methods showsPrec :: Int -> Cardinality -> ShowS show :: Cardinality -> String showList :: [Cardinality] -> ShowS | |
| Eq Cardinality Source # | |
Defined in Fadno.Xml.EmitTypes | |
| Ord Cardinality Source # | |
Defined in Fadno.Xml.EmitTypes Methods compare :: Cardinality -> Cardinality -> Ordering (<) :: Cardinality -> Cardinality -> Bool (<=) :: Cardinality -> Cardinality -> Bool (>) :: Cardinality -> Cardinality -> Bool (>=) :: Cardinality -> Cardinality -> Bool max :: Cardinality -> Cardinality -> Cardinality min :: Cardinality -> Cardinality -> Cardinality | |
Type field.
Constructors
| Field | |
Fields
| |
Instances
| Data Field Source # | |
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 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 # | |
| Eq Field Source # | |
| Ord Field Source # | |
fieldCardinality :: Lens' Field Cardinality Source #
fieldXmlEmit :: Lens' Field FieldEmit Source #
Field xml emit cue.
Constructors
| FieldAttribute | |
| FieldElement | |
| FieldText | |
| FieldOther |
Instances
| Data FieldEmit Source # | |
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 # | |
| Eq FieldEmit Source # | |
| Ord FieldEmit Source # | |
Defined in Fadno.Xml.EmitTypes | |
Datatype constructor.
Constructors
| Ctor | |
Fields
| |
Instances
| Data Ctor Source # | |
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 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 # | |
| Eq Ctor Source # | |
| Ord Ctor Source # | |
ctorFields :: Lens' Ctor [Field] Source #
Emitted type.
Constructors
| NewType | |
Fields
| |
| DataType | |
Fields
| |
| EnumType | |
Fields
| |
| BuiltIn | |
Fields
| |
Instances
| Data Type Source # | |
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 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 # | |
| Eq Type Source # | |
| Ord Type Source # | |
typeDerives :: Lens' Type DerivesFamily Source #
typeEmit :: Traversal' Type DataTypeEmit Source #
typeEnumValues :: Traversal' Type [String] Source #
data DerivesFamily Source #
Derive type "families".
Constructors
| NewTypeString | |
| NewTypeIntegral | |
| NewTypeNum | |
| DataEnum | |
| OtherDerives |
Instances
| Data DerivesFamily Source # | |
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 # | |
Defined in Fadno.Xml.EmitTypes | |
| Enum DerivesFamily Source # | |
Defined in Fadno.Xml.EmitTypes Methods succ :: DerivesFamily -> DerivesFamily pred :: DerivesFamily -> DerivesFamily toEnum :: Int -> DerivesFamily fromEnum :: DerivesFamily -> Int enumFrom :: DerivesFamily -> [DerivesFamily] enumFromThen :: DerivesFamily -> DerivesFamily -> [DerivesFamily] enumFromTo :: DerivesFamily -> DerivesFamily -> [DerivesFamily] enumFromThenTo :: DerivesFamily -> DerivesFamily -> DerivesFamily -> [DerivesFamily] | |
| Show DerivesFamily Source # | |
Defined in Fadno.Xml.EmitTypes Methods showsPrec :: Int -> DerivesFamily -> ShowS show :: DerivesFamily -> String showList :: [DerivesFamily] -> ShowS | |
| Eq DerivesFamily Source # | |
Defined in Fadno.Xml.EmitTypes | |
| Ord DerivesFamily Source # | |
Defined in Fadno.Xml.EmitTypes Methods compare :: DerivesFamily -> DerivesFamily -> Ordering (<) :: DerivesFamily -> DerivesFamily -> Bool (<=) :: DerivesFamily -> DerivesFamily -> Bool (>) :: DerivesFamily -> DerivesFamily -> Bool (>=) :: DerivesFamily -> DerivesFamily -> Bool max :: DerivesFamily -> DerivesFamily -> DerivesFamily min :: DerivesFamily -> DerivesFamily -> DerivesFamily | |
data DataTypeEmit Source #
Data type xml emit cue.
Constructors
| DataTypeComplex | |
| DataTypeSimple | |
| DataTypeCompositor |
Instances
| Data DataTypeEmit Source # | |
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 # | |
Defined in Fadno.Xml.EmitTypes Methods showsPrec :: Int -> DataTypeEmit -> ShowS show :: DataTypeEmit -> String showList :: [DataTypeEmit] -> ShowS | |
| Eq DataTypeEmit Source # | |
Defined in Fadno.Xml.EmitTypes | |
| Ord DataTypeEmit Source # | |
Defined in Fadno.Xml.EmitTypes Methods compare :: DataTypeEmit -> DataTypeEmit -> Ordering (<) :: DataTypeEmit -> DataTypeEmit -> Bool (<=) :: DataTypeEmit -> DataTypeEmit -> Bool (>) :: DataTypeEmit -> DataTypeEmit -> Bool (>=) :: DataTypeEmit -> DataTypeEmit -> Bool max :: DataTypeEmit -> DataTypeEmit -> DataTypeEmit min :: DataTypeEmit -> DataTypeEmit -> DataTypeEmit | |
newtype base types. Name after CT should be Haskell base type.
Instances
| Data CoreType Source # | |
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 # | |
Defined in Fadno.Xml.EmitTypes | |
| Enum CoreType Source # | |
Defined in Fadno.Xml.EmitTypes | |
| Show CoreType Source # | |
| Eq CoreType Source # | |
| Ord CoreType Source # | |
Defined in Fadno.Xml.EmitTypes | |
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 |
| TopLevel | Top-level element, so emit element name as well as contents. Elements normally inherit the name from the referencing production. |
Instances
| Data Impl Source # | |
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 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 # | |
| Eq Impl Source # | |
| Ord Impl Source # | |