marxup-3.1.1.0: Markup language preprocessor for Haskell

Safe HaskellNone
LanguageHaskell98

MarXup.MultiRef

Synopsis

Documentation

type MetaData key = Map key String Source #

newtype Multi config key a Source #

Constructors

Multi 

Fields

Instances
MonadReader config (Multi config key) Source # 
Instance details

Defined in MarXup.MultiRef

Methods

ask :: Multi config key config #

local :: (config -> config) -> Multi config key a -> Multi config key a #

reader :: (config -> a) -> Multi config key a #

MonadWriter String (Multi config key) Source # 
Instance details

Defined in MarXup.MultiRef

Methods

writer :: (a, String) -> Multi config key a #

tell :: String -> Multi config key () #

listen :: Multi config key a -> Multi config key (a, String) #

pass :: Multi config key (a, String -> String) -> Multi config key a #

Monad (Multi config key) Source # 
Instance details

Defined in MarXup.MultiRef

Methods

(>>=) :: Multi config key a -> (a -> Multi config key b) -> Multi config key b #

(>>) :: Multi config key a -> Multi config key b -> Multi config key b #

return :: a -> Multi config key a #

fail :: String -> Multi config key a #

Functor (Multi config key) Source # 
Instance details

Defined in MarXup.MultiRef

Methods

fmap :: (a -> b) -> Multi config key a -> Multi config key b #

(<$) :: a -> Multi config key b -> Multi config key a #

MonadFix (Multi config key) Source # 
Instance details

Defined in MarXup.MultiRef

Methods

mfix :: (a -> Multi config key a) -> Multi config key a #

Applicative (Multi config key) Source # 
Instance details

Defined in MarXup.MultiRef

Methods

pure :: a -> Multi config key a #

(<*>) :: Multi config key (a -> b) -> Multi config key a -> Multi config key b #

liftA2 :: (a -> b -> c) -> Multi config key a -> Multi config key b -> Multi config key c #

(*>) :: Multi config key a -> Multi config key b -> Multi config key b #

(<*) :: Multi config key a -> Multi config key b -> Multi config key a #

MonadState (References, BoxSpecs, MetaData key) (Multi config key) Source # 
Instance details

Defined in MarXup.MultiRef

Methods

get :: Multi config key (References, BoxSpecs, MetaData key) #

put :: (References, BoxSpecs, MetaData key) -> Multi config key () #

state :: ((References, BoxSpecs, MetaData key) -> (a, (References, BoxSpecs, MetaData key))) -> Multi config key a #

type Label = Int Source #

raw :: String -> Multi config key () Source #

getBoxSpec :: Int -> Multi config key BoxSpec Source #

newLabel :: Multi key config Label Source #

allocate a new label

metaData :: Ord key => key -> String -> Multi config key () Source #

output some meta data