- type HSP = HSPT IO
- type HSPT m = XMLGenT (HSPT' m)
- type HSPT' m = RWST HSPEnv () (Maybe XMLMetaData) m
- runHSP :: Maybe XMLMetaData -> HSP a -> HSPEnv -> IO (Maybe XMLMetaData, a)
- evalHSP :: Maybe XMLMetaData -> HSP a -> IO (Maybe XMLMetaData, a)
- runHSPT :: Monad m => Maybe XMLMetaData -> HSPT m a -> HSPEnv -> m (Maybe XMLMetaData, a)
- evalHSPT :: MonadIO m => Maybe XMLMetaData -> HSPT m a -> m (Maybe XMLMetaData, a)
- getEnv :: HSP HSPEnv
- getParam :: String -> HSP (Maybe String)
- getIncNumber :: HSP Int
- doIO :: IO a -> HSP a
- catch :: HSP a -> (Exception -> HSP a) -> HSP a
- setMetaData :: Monad m => Maybe XMLMetaData -> HSPT m ()
- withMetaData :: Monad m => Maybe XMLMetaData -> HSPT m a -> HSPT m a
- module HSP.Env
- module HSP.XML
- module HSP.XML.PCDATA
- module HSP.HTML
- class Monad m => IsAttrValue m a where
- toAttrValue :: a -> HSPT m AttrValue
- extract :: GetAttrValue a => Name -> Attributes -> (Maybe a, Attributes)
- module HSX.XMLGenerator
- genElement :: XMLGen m => Name -> [XMLGenT m [Attribute m]] -> [XMLGenT m [Child m]] -> XMLGenT m (XML m)
- genEElement :: XMLGen m => Name -> [XMLGenT m [Attribute m]] -> XMLGenT m (XML m)
- module HSP.HJScript
Documentation
The HSP monad is a reader wrapper around the IO monad, but extended with an XMLGenerator wrapper. type HSP' = ReaderT HSPEnv IO type HSP = XMLGenT HSP'
runHSP :: Maybe XMLMetaData -> HSP a -> HSPEnv -> IO (Maybe XMLMetaData, a)Source
Runs a HSP computation in a particular environment. Since HSP wraps the IO monad, the result of running it will be an IO computation.
evalHSP :: Maybe XMLMetaData -> HSP a -> IO (Maybe XMLMetaData, a)Source
runHSPT :: Monad m => Maybe XMLMetaData -> HSPT m a -> HSPEnv -> m (Maybe XMLMetaData, a)Source
evalHSPT :: MonadIO m => Maybe XMLMetaData -> HSPT m a -> m (Maybe XMLMetaData, a)Source
setMetaData :: Monad m => Maybe XMLMetaData -> HSPT m ()Source
withMetaData :: Monad m => Maybe XMLMetaData -> HSPT m a -> HSPT m aSource
module HSP.Env
module HSP.XML
module HSP.XML.PCDATA
module HSP.HTML
class Monad m => IsAttrValue m a whereSource
toAttrValue :: a -> HSPT m AttrValueSource
Monad m => IsAttrValue m Bool | |
Monad m => IsAttrValue m Int | |
Monad m => IsAttrValue m String | |
Monad m => IsAttrValue m AttrValue | |
IsAttrValue IO a => IsAttrValue IO (IO a) | |
Monad m => IsAttrValue m (HJScript (Exp t)) | |
Monad m => IsAttrValue m (HJScript ()) | |
Monad m => IsAttrValue m (Block t) | |
IsAttrValue m a => IsAttrValue m (HSPT m a) |
extract :: GetAttrValue a => Name -> Attributes -> (Maybe a, Attributes)Source
module HSX.XMLGenerator
genElement :: XMLGen m => Name -> [XMLGenT m [Attribute m]] -> [XMLGenT m [Child m]] -> XMLGenT m (XML m)
module HSP.HJScript