hsp-0.10.0: Haskell Server Pages is a library for writing dynamic server-side web pages.

Copyright | (c) Niklas Broberg 2008-2013
License | BSD-style (see the file LICENSE.txt)
Maintainer | Niklas Broberg <niklas.broberg@gmail.com>
Stability | experimental
Portability | requires newtype deriving and MPTCs with fundeps and type families
Safe Haskell | None
Language | Haskell98

HSP.XMLGenerator

Description

The class and monad transformer that forms the basis of the literal XML syntax translation. Literal tags will be translated into functions of the GenerateXML class, and any instantiating monads with associated XML types can benefit from that syntax.

Synopsis

- newtype XMLGenT m a = XMLGenT (m a)
- unXMLGenT :: XMLGenT m a -> m a
- mapXMLGenT :: (m a -> n b) -> XMLGenT m a -> XMLGenT n b
- type Name a = (Maybe a, a)
- class Monad m => XMLGen m where
  - type XMLType m
  - type StringType m
  - data ChildType m
  - data AttributeType m
  - genElement :: Name (StringType m) -> [XMLGenT m [AttributeType m]] -> [XMLGenT m [ChildType m]] -> XMLGenT m (XMLType m)
  - genEElement :: Name (StringType m) -> [XMLGenT m [AttributeType m]] -> XMLGenT m (XMLType m)
  - xmlToChild :: XMLType m -> ChildType m
  - pcdataToChild :: StringType m -> ChildType m
- type GenXML m = XMLGenT m (XMLType m)
- type GenXMLList m = XMLGenT m [XMLType m]
- type GenChild m = XMLGenT m (ChildType m)
- type GenChildList m = XMLGenT m [ChildType m]
- type GenAttribute m = XMLGenT m (AttributeType m)
- type GenAttributeList m = XMLGenT m [AttributeType m]
- class XMLGen m => EmbedAsChild m c where
  - asChild :: c -> GenChildList m
- data Attr n a = n := a
- class XMLGen m => EmbedAsAttr m a where
  - asAttr :: a -> GenAttributeList m
- class (XMLGen m, SetAttr m (XMLType m), AppendChild m (XMLType m), EmbedAsChild m (XMLType m), EmbedAsChild m [XMLType m], EmbedAsChild m Text, EmbedAsChild m Char, EmbedAsChild m (), EmbedAsAttr m (Attr Text Text), EmbedAsAttr m (Attr Text Int), EmbedAsAttr m (Attr Text Bool)) => XMLGenerator m
- class XMLGen m => SetAttr m elem where
  - setAttr :: elem -> GenAttribute m -> GenXML m
  - setAll :: elem -> GenAttributeList m -> GenXML m
- (<@) :: (SetAttr m elem, EmbedAsAttr m attr) => elem -> attr -> GenXML m
- set :: (SetAttr m elem, EmbedAsAttr m attr) => elem -> attr -> GenXML m
- (<<@) :: (SetAttr m elem, EmbedAsAttr m attr) => elem -> [attr] -> GenXML m
- class XMLGen m => AppendChild m elem where
  - appChild :: elem -> GenChild m -> GenXML m
  - appAll :: elem -> GenChildList m -> GenXML m
- (<:) :: (AppendChild m elem, EmbedAsChild m c) => elem -> c -> GenXML m
- app :: (AppendChild m elem, EmbedAsChild m c) => elem -> c -> GenXML m
- (<<:) :: (AppendChild m elem, EmbedAsChild m c) => elem -> [c] -> GenXML m
- class Show n => IsName n s where
  - toName :: n -> Name s
- class TypeCast a b | a -> b, b -> a where
  - typeCast :: a -> b
- class TypeCast' t a b | t a -> b, t b -> a where
  - typeCast' :: t -> a -> b
- class TypeCast'' t a b | t a -> b, t b -> a where
  - typeCast'' :: t -> a -> b
- class TypeCastM ma mb | ma -> mb, mb -> ma where
  - typeCastM :: ma x -> mb x
- class TypeCastM' t ma mb | t ma -> mb, t mb -> ma where
  - typeCastM' :: t -> ma x -> mb x
- class TypeCastM'' t ma mb | t ma -> mb, t mb -> ma where
  - typeCastM'' :: t -> ma x -> mb x

# Documentation

newtype XMLGenT m a #

The monad transformer that allows a monad to generate XML values.

Constructors

XMLGenT (m a) |

#### Instances

Instances details

MonadTrans XMLGenT # |
Instance details Defined in HSP.XMLGenerator Methods lift :: Monad m => m a -> XMLGenT m a #
(MonadReader r m, MonadWriter w m, MonadState s m) => MonadRWS r w s (XMLGenT m) # |
Instance details Defined in HSP.XMLGenerator
MonadWriter w m => MonadWriter w (XMLGenT m) # |
Instance details Defined in HSP.XMLGenerator Methods writer :: (a, w) -> XMLGenT m a # tell :: w -> XMLGenT m () # listen :: XMLGenT m a -> XMLGenT m (a, w) # pass :: XMLGenT m (a, w -> w) -> XMLGenT m a #
MonadState s m => MonadState s (XMLGenT m) # |
Instance details Defined in HSP.XMLGenerator Methods get :: XMLGenT m s # put :: s -> XMLGenT m () # state :: (s -> (a, s)) -> XMLGenT m a #
MonadReader r m => MonadReader r (XMLGenT m) # |
Instance details Defined in HSP.XMLGenerator Methods ask :: XMLGenT m r # local :: (r -> r) -> XMLGenT m a -> XMLGenT m a # reader :: (r -> a) -> XMLGenT m a #
MonadError e m => MonadError e (XMLGenT m) # |
Instance details Defined in HSP.XMLGenerator Methods throwError :: e -> XMLGenT m a # catchError :: XMLGenT m a -> (e -> XMLGenT m a) -> XMLGenT m a #
(AppendChild m x, TypeCastM m1 m) => AppendChild m (XMLGenT m1 x) # |
Instance details Defined in HSP.XMLGenerator Methods appChild :: XMLGenT m1 x -> GenChild m -> GenXML m # appAll :: XMLGenT m1 x -> GenChildList m -> GenXML m #
(TypeCastM m1 m, SetAttr m x) => SetAttr m (XMLGenT m1 x) # |
Instance details Defined in HSP.XMLGenerator Methods setAttr :: XMLGenT m1 x -> GenAttribute m -> GenXML m # setAll :: XMLGenT m1 x -> GenAttributeList m -> GenXML m #
(EmbedAsAttr m (Attr a v), TypeCastM m1 m) => EmbedAsAttr m (Attr a (XMLGenT m1 v)) # |
Instance details Defined in HSP.XMLGenerator Methods asAttr :: Attr a (XMLGenT m1 v) -> GenAttributeList m #
(XMLGen m, EmbedAsAttr m a) => EmbedAsAttr m (XMLGenT m a) # |
Instance details Defined in HSP.XMLGenerator Methods asAttr :: XMLGenT m a -> GenAttributeList m #
(EmbedAsChild m c, m ~ n) => EmbedAsChild m (XMLGenT n c) # |
Instance details Defined in HSP.XMLGenerator Methods asChild :: XMLGenT n c -> GenChildList m #
Monad m => Monad (XMLGenT m) # |
Instance details Defined in HSP.XMLGenerator Methods (>>=) :: XMLGenT m a -> (a -> XMLGenT m b) -> XMLGenT m b # (>>) :: XMLGenT m a -> XMLGenT m b -> XMLGenT m b # return :: a -> XMLGenT m a #
Functor m => Functor (XMLGenT m) # |
Instance details Defined in HSP.XMLGenerator Methods fmap :: (a -> b) -> XMLGenT m a -> XMLGenT m b # (<$) :: a -> XMLGenT m b -> XMLGenT m a #
Applicative m => Applicative (XMLGenT m) # |
Instance details Defined in HSP.XMLGenerator Methods pure :: a -> XMLGenT m a # (<*>) :: XMLGenT m (a -> b) -> XMLGenT m a -> XMLGenT m b # liftA2 :: (a -> b -> c) -> XMLGenT m a -> XMLGenT m b -> XMLGenT m c # (*>) :: XMLGenT m a -> XMLGenT m b -> XMLGenT m b # (<*) :: XMLGenT m a -> XMLGenT m b -> XMLGenT m a #
MonadIO m => MonadIO (XMLGenT m) # |
Instance details Defined in HSP.XMLGenerator Methods liftIO :: IO a -> XMLGenT m a #
Alternative m => Alternative (XMLGenT m) # |
Instance details Defined in HSP.XMLGenerator Methods empty :: XMLGenT m a # (<|>) :: XMLGenT m a -> XMLGenT m a -> XMLGenT m a # some :: XMLGenT m a -> XMLGenT m [a] # many :: XMLGenT m a -> XMLGenT m [a] #
MonadPlus m => MonadPlus (XMLGenT m) # |
Instance details Defined in HSP.XMLGenerator Methods mzero :: XMLGenT m a # mplus :: XMLGenT m a -> XMLGenT m a -> XMLGenT m a #
MonadCont m => MonadCont (XMLGenT m) # |
Instance details Defined in HSP.XMLGenerator Methods callCC :: ((a -> XMLGenT m b) -> XMLGenT m a) -> XMLGenT m a #

unXMLGenT :: XMLGenT m a -> m a #

un-lift.

mapXMLGenT :: (m a -> n b) -> XMLGenT m a -> XMLGenT n b #

map the inner monad

type Name a = (Maybe a, a) #

class Monad m => XMLGen m where #

Generate XML values in some XMLGenerator monad.

Minimal complete definition

genElement, xmlToChild, pcdataToChild

Associated Types

type XMLType m #

type StringType m #

data ChildType m #

data AttributeType m #

Methods

genElement :: Name (StringType m) -> [XMLGenT m [AttributeType m]] -> [XMLGenT m [ChildType m]] -> XMLGenT m (XMLType m) #

genEElement :: Name (StringType m) -> [XMLGenT m [AttributeType m]] -> XMLGenT m (XMLType m) #

xmlToChild :: XMLType m -> ChildType m #

pcdataToChild :: StringType m -> ChildType m #

#### Instances

Instances details

(Functor m, Monad m) => XMLGen (HSPT XML m) # |
Instance details Defined in HSP.Monad Associated Types type XMLType (HSPT XML m) # type StringType (HSPT XML m) # data ChildType (HSPT XML m) # data AttributeType (HSPT XML m) # Methods genElement :: Name (StringType (HSPT XML m)) -> [XMLGenT (HSPT XML m) [AttributeType (HSPT XML m)]] -> [XMLGenT (HSPT XML m) [ChildType (HSPT XML m)]] -> XMLGenT (HSPT XML m) (XMLType (HSPT XML m)) # genEElement :: Name (StringType (HSPT XML m)) -> [XMLGenT (HSPT XML m) [AttributeType (HSPT XML m)]] -> XMLGenT (HSPT XML m) (XMLType (HSPT XML m)) # xmlToChild :: XMLType (HSPT XML m) -> ChildType (HSPT XML m) # pcdataToChild :: StringType (HSPT XML m) -> ChildType (HSPT XML m) #

type GenXML m = XMLGenT m (XMLType m) #

Type synonyms to avoid writing out the XMLnGenT all the time

type GenXMLList m = XMLGenT m [XMLType m] #

type GenChild m = XMLGenT m (ChildType m) #

type GenChildList m = XMLGenT m [ChildType m] #

type GenAttribute m = XMLGenT m (AttributeType m) #

type GenAttributeList m = XMLGenT m [AttributeType m] #

class XMLGen m => EmbedAsChild m c where #

Embed values as child nodes of an XML element. The parent type will be clear from the context so it is not mentioned.

Methods

asChild :: c -> GenChildList m #

#### Instances

Instances details

XMLGen m => EmbedAsChild m () # |
Instance details Defined in HSP.XMLGenerator Methods asChild :: () -> GenChildList m #
(XMLGen m, XMLType m ~ x) => EmbedAsChild m x # |
Instance details Defined in HSP.XMLGenerator Methods asChild :: x -> GenChildList m #
XMLGen m => EmbedAsChild m (ChildType m) # |
Instance details Defined in HSP.XMLGenerator Methods asChild :: ChildType m -> GenChildList m #
EmbedAsChild m c => EmbedAsChild m [c] # |
Instance details Defined in HSP.XMLGenerator Methods asChild :: [c] -> GenChildList m #
(EmbedAsChild m c, m ~ n) => EmbedAsChild m (XMLGenT n c) # |
Instance details Defined in HSP.XMLGenerator Methods asChild :: XMLGenT n c -> GenChildList m #
(Functor m, Monad m) => EmbedAsChild (HSPT XML m) () # |
Instance details Defined in HSP.Monad Methods asChild :: () -> GenChildList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsChild (HSPT XML m) Char # |
Instance details Defined in HSP.Monad Methods asChild :: Char -> GenChildList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsChild (HSPT XML m) Text # |
Instance details Defined in HSP.Monad Methods asChild :: Text -> GenChildList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsChild (HSPT XML m) Text # |
Instance details Defined in HSP.Monad Methods asChild :: Text -> GenChildList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsChild (HSPT XML m) String # |
Instance details Defined in HSP.Monad Methods asChild :: String -> GenChildList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsChild (HSPT XML m) XML # |
Instance details Defined in HSP.Monad Methods asChild :: XML -> GenChildList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsChild (HSPT XML m) [XML] # |
Instance details Defined in HSP.Monad Methods asChild :: [XML] -> GenChildList (HSPT XML m) #

data Attr n a #

Constructors

n := a |

#### Instances

Instances details

(EmbedAsAttr m (Attr a v), TypeCastM m1 m) => EmbedAsAttr m (Attr a (XMLGenT m1 v)) # |
Instance details Defined in HSP.XMLGenerator Methods asAttr :: Attr a (XMLGenT m1 v) -> GenAttributeList m #
(Show n, Show a) => Show (Attr n a) # |
Instance details Defined in HSP.XMLGenerator Methods showsPrec :: Int -> Attr n a -> ShowS # show :: Attr n a -> String # showList :: [Attr n a] -> ShowS #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text ()) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text () -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text ()) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text () -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Int) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Int -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Int) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Int -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Bool) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Bool -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Bool) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Bool -> GenAttributeList (HSPT XML m) #
(Monad m, Functor m) => EmbedAsAttr (HSPT XML m) (Attr Text Char) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Char -> GenAttributeList (HSPT XML m) #
(Monad m, Functor m) => EmbedAsAttr (HSPT XML m) (Attr Text Char) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Char -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Text) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text0 Text -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Text) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Text -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Text) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Text0 -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Text) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Text -> GenAttributeList (HSPT XML m) #

class XMLGen m => EmbedAsAttr m a where #

Similarly embed values as attributes of an XML element.

Methods

asAttr :: a -> GenAttributeList m #

#### Instances

Instances details

EmbedAsAttr m a => EmbedAsAttr m [a] # |
Instance details Defined in HSP.XMLGenerator Methods asAttr :: [a] -> GenAttributeList m #
XMLGen m => EmbedAsAttr m (AttributeType m) # |
Instance details Defined in HSP.XMLGenerator Methods asAttr :: AttributeType m -> GenAttributeList m #
(EmbedAsAttr m (Attr a v), TypeCastM m1 m) => EmbedAsAttr m (Attr a (XMLGenT m1 v)) # |
Instance details Defined in HSP.XMLGenerator Methods asAttr :: Attr a (XMLGenT m1 v) -> GenAttributeList m #
(XMLGen m, EmbedAsAttr m a) => EmbedAsAttr m (XMLGenT m a) # |
Instance details Defined in HSP.XMLGenerator Methods asAttr :: XMLGenT m a -> GenAttributeList m #
(Monad m, Functor m) => EmbedAsAttr (HSPT XML m) Attribute # |
Instance details Defined in HSP.Monad Methods asAttr :: Attribute -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text ()) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text () -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text ()) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text () -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Int) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Int -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Int) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Int -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Bool) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Bool -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Bool) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Bool -> GenAttributeList (HSPT XML m) #
(Monad m, Functor m) => EmbedAsAttr (HSPT XML m) (Attr Text Char) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Char -> GenAttributeList (HSPT XML m) #
(Monad m, Functor m) => EmbedAsAttr (HSPT XML m) (Attr Text Char) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Char -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Text) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text0 Text -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Text) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Text -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Text) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Text0 -> GenAttributeList (HSPT XML m) #
(Functor m, Monad m) => EmbedAsAttr (HSPT XML m) (Attr Text Text) # |
Instance details Defined in HSP.Monad Methods asAttr :: Attr Text Text -> GenAttributeList (HSPT XML m) #

class (XMLGen m, SetAttr m (XMLType m), AppendChild m (XMLType m), EmbedAsChild m (XMLType m), EmbedAsChild m [XMLType m], EmbedAsChild m Text, EmbedAsChild m Char, EmbedAsChild m (), EmbedAsAttr m (Attr Text Text), EmbedAsAttr m (Attr Text Int), EmbedAsAttr m (Attr Text Bool)) => XMLGenerator m #

#### Instances

Instances details

(Functor m, Monad m) => XMLGenerator (HSPT XML m) # |
Instance details Defined in HSP.Monad

class XMLGen m => SetAttr m elem where #

Set attributes on XML elements

Minimal complete definition

setAll

Methods

setAttr :: elem -> GenAttribute m -> GenXML m #

setAll :: elem -> GenAttributeList m -> GenXML m #

#### Instances

Instances details

(TypeCastM m1 m, SetAttr m x) => SetAttr m (XMLGenT m1 x) # |
Instance details Defined in HSP.XMLGenerator Methods setAttr :: XMLGenT m1 x -> GenAttribute m -> GenXML m # setAll :: XMLGenT m1 x -> GenAttributeList m -> GenXML m #
(Functor m, Monad m) => SetAttr (HSPT XML m) XML # |
Instance details Defined in HSP.Monad Methods setAttr :: XML -> GenAttribute (HSPT XML m) -> GenXML (HSPT XML m) # setAll :: XML -> GenAttributeList (HSPT XML m) -> GenXML (HSPT XML m) #

(<@) :: (SetAttr m elem, EmbedAsAttr m attr) => elem -> attr -> GenXML m #

prepend `attr` to the list of attributes for the `elem`

set :: (SetAttr m elem, EmbedAsAttr m attr) => elem -> attr -> GenXML m #

prepend `attr` to the list of attributes for the `elem`

(<<@) :: (SetAttr m elem, EmbedAsAttr m attr) => elem -> [attr] -> GenXML m #

prepend the list of `attr` to the attributes for the `elem`

class XMLGen m => AppendChild m elem where #

Minimal complete definition

appAll

Methods

appChild :: elem -> GenChild m -> GenXML m #

appAll :: elem -> GenChildList m -> GenXML m #

#### Instances

Instances details

(AppendChild m x, TypeCastM m1 m) => AppendChild m (XMLGenT m1 x) # |
Instance details Defined in HSP.XMLGenerator Methods appChild :: XMLGenT m1 x -> GenChild m -> GenXML m # appAll :: XMLGenT m1 x -> GenChildList m -> GenXML m #
(Functor m, Monad m) => AppendChild (HSPT XML m) XML # |
Instance details Defined in HSP.Monad Methods appChild :: XML -> GenChild (HSPT XML m) -> GenXML (HSPT XML m) # appAll :: XML -> GenChildList (HSPT XML m) -> GenXML (HSPT XML m) #

(<:) :: (AppendChild m elem, EmbedAsChild m c) => elem -> c -> GenXML m #

append child to the children of `elem`

app :: (AppendChild m elem, EmbedAsChild m c) => elem -> c -> GenXML m #

append child to the children of `elem`

(<<:) :: (AppendChild m elem, EmbedAsChild m c) => elem -> [c] -> GenXML m #

append children to the children of `elem`

class Show n => IsName n s where #

Names can be simple or qualified with a domain. We want to conveniently use both simple strings or pairs wherever a `Name` is expected.

Methods

toName :: n -> Name s #

#### Instances

Instances details

IsName String String # | Strings can represent names, meaning a simple name with no domain.
Instance details Defined in HSP.XMLGenerator Methods toName :: String -> Name String #
IsName String Text # | Strings can represent names, meaning a simple name with no domain.
Instance details Defined in HSP.XMLGenerator Methods toName :: String -> Name Text #
IsName Text Text # | Strings can represent names, meaning a simple name with no domain.
Instance details Defined in HSP.XMLGenerator Methods toName :: Text -> Name Text #
IsName Text Text # | strings can represent names, meaning a simple name with no domain.
Instance details Defined in HSP.XMLGenerator Methods toName :: Text -> Name Text0 #
Show a => IsName (Name a) a # | Names can represent names, of course.
Instance details Defined in HSP.XMLGenerator Methods toName :: Name a -> Name a #
IsName (String, String) Text # | Pairs of strings can represent names, meaning a name qualified with a domain.
Instance details Defined in HSP.XMLGenerator Methods toName :: (String, String) -> Name Text #
IsName (Text, Text) Text # | Pairs of strings can represent names, meaning a name qualified with a domain.
Instance details Defined in HSP.XMLGenerator Methods toName :: (Text, Text) -> Name Text #
IsName (Text, Text) Text # | Pairs of strings can represent names, meaning a name qualified with a domain.
Instance details Defined in HSP.XMLGenerator Methods toName :: (Text, Text) -> Name Text0 #

class TypeCast a b | a -> b, b -> a where #

Methods

typeCast :: a -> b #

#### Instances

Instances details

TypeCast' () a b => TypeCast a b # |
Instance details Defined in HSP.XMLGenerator Methods typeCast :: a -> b #

class TypeCast' t a b | t a -> b, t b -> a where #

Methods

typeCast' :: t -> a -> b #

#### Instances

Instances details

TypeCast'' t a b => TypeCast' t a b # |
Instance details Defined in HSP.XMLGenerator Methods typeCast' :: t -> a -> b #

class TypeCast'' t a b | t a -> b, t b -> a where #

Methods

typeCast'' :: t -> a -> b #

#### Instances

Instances details

TypeCast'' () a a # |
Instance details Defined in HSP.XMLGenerator Methods typeCast'' :: () -> a -> a #

class TypeCastM ma mb | ma -> mb, mb -> ma where #

Methods

typeCastM :: ma x -> mb x #

#### Instances

Instances details

TypeCastM' () ma mb => TypeCastM ma mb # |
Instance details Defined in HSP.XMLGenerator Methods typeCastM :: ma x -> mb x #

class TypeCastM' t ma mb | t ma -> mb, t mb -> ma where #

Methods

typeCastM' :: t -> ma x -> mb x #

#### Instances

Instances details

TypeCastM'' t ma mb => TypeCastM' t ma mb # |
Instance details Defined in HSP.XMLGenerator Methods typeCastM' :: t -> ma x -> mb x #

class TypeCastM'' t ma mb | t ma -> mb, t mb -> ma where #

Methods

typeCastM'' :: t -> ma x -> mb x #

#### Instances

Instances details

TypeCastM'' () ma ma # |
Instance details Defined in HSP.XMLGenerator Methods typeCastM'' :: () -> ma x -> ma x #