lambdatex-0.2.0.0: Type-Safe LaTeX EDSL

Safe HaskellNone
LanguageHaskell2010

Text.LaTeX.LambdaTeX.Types

Contents

Synopsis

The ΛTeX Monad

type ΛTeXT_ m = ΛTeXT m () Source #

newtype ΛTeXT m a Source #

Constructors

ΛTeXT 

Instances

MonadTrans ΛTeXT Source # 

Methods

lift :: Monad m => m a -> ΛTeXT m a #

MonadReader r m => MonadReader r (ΛTeXT m) Source # 

Methods

ask :: ΛTeXT m r #

local :: (r -> r) -> ΛTeXT m a -> ΛTeXT m a #

reader :: (r -> a) -> ΛTeXT m a #

MonadState s m => MonadState s (ΛTeXT m) Source # 

Methods

get :: ΛTeXT m s #

put :: s -> ΛTeXT m () #

state :: (s -> (a, s)) -> ΛTeXT m a #

MonadWriter w m => MonadWriter w (ΛTeXT m) Source # 

Methods

writer :: (a, w) -> ΛTeXT m a #

tell :: w -> ΛTeXT m () #

listen :: ΛTeXT m a -> ΛTeXT m (a, w) #

pass :: ΛTeXT m (a, w -> w) -> ΛTeXT m a #

Monad m => Monad (ΛTeXT m) Source # 

Methods

(>>=) :: ΛTeXT m a -> (a -> ΛTeXT m b) -> ΛTeXT m b #

(>>) :: ΛTeXT m a -> ΛTeXT m b -> ΛTeXT m b #

return :: a -> ΛTeXT m a #

fail :: String -> ΛTeXT m a #

Functor m => Functor (ΛTeXT m) Source # 

Methods

fmap :: (a -> b) -> ΛTeXT m a -> ΛTeXT m b #

(<$) :: a -> ΛTeXT m b -> ΛTeXT m a #

Monad m => Applicative (ΛTeXT m) Source # 

Methods

pure :: a -> ΛTeXT m a #

(<*>) :: ΛTeXT m (a -> b) -> ΛTeXT m a -> ΛTeXT m b #

(*>) :: ΛTeXT m a -> ΛTeXT m b -> ΛTeXT m b #

(<*) :: ΛTeXT m a -> ΛTeXT m b -> ΛTeXT m a #

MonadIO m => MonadIO (ΛTeXT m) Source # 

Methods

liftIO :: IO a -> ΛTeXT m a #

(Monad m, (~) * a ()) => Fractional (ΛTeXT m a) Source # 

Methods

(/) :: ΛTeXT m a -> ΛTeXT m a -> ΛTeXT m a #

recip :: ΛTeXT m a -> ΛTeXT m a #

fromRational :: Rational -> ΛTeXT m a #

(Monad m, (~) * a ()) => Num (ΛTeXT m a) Source # 

Methods

(+) :: ΛTeXT m a -> ΛTeXT m a -> ΛTeXT m a #

(-) :: ΛTeXT m a -> ΛTeXT m a -> ΛTeXT m a #

(*) :: ΛTeXT m a -> ΛTeXT m a -> ΛTeXT m a #

negate :: ΛTeXT m a -> ΛTeXT m a #

abs :: ΛTeXT m a -> ΛTeXT m a #

signum :: ΛTeXT m a -> ΛTeXT m a #

fromInteger :: Integer -> ΛTeXT m a #

(Monad m, (~) * a ()) => IsString (ΛTeXT m a) Source # 

Methods

fromString :: String -> ΛTeXT m a #

(Monad m, (~) * a ()) => Monoid (ΛTeXT m a) Source # 

Methods

mempty :: ΛTeXT m a #

mappend :: ΛTeXT m a -> ΛTeXT m a -> ΛTeXT m a #

mconcat :: [ΛTeXT m a] -> ΛTeXT m a #

(Monad m, (~) * a ()) => LaTeXC (ΛTeXT m a) Source # 

Methods

liftListL :: ([LaTeX] -> LaTeX) -> [ΛTeXT m a] -> ΛTeXT m a #

runΛTeX :: Monad m => ΛTeXT m a -> ΛConfig -> ΛState -> m ((a, LaTeX), ΛState, ΛOutput) Source #

λasks :: Monad m => (ΛConfig -> a) -> ΛTeXT m a Source #

λgets :: Monad m => (ΛState -> a) -> ΛTeXT m a Source #

λmodify :: Monad m => (ΛState -> ΛState) -> ΛTeXT m () Source #

extractΛLaTeX :: Monad m => ΛTeXT m a -> ΛTeXT m (a, LaTeX) Source #

This function run a LaTeXT computation, lifting the result again in the monad.

extractΛLaTeX_ :: Monad m => ΛTeXT m a -> ΛTeXT m LaTeX Source #

Like 'extractΛLaTeX' but without the result

newtype ΛConfig Source #

Internal ΛTeXT configration

Constructors

ΛConfig 

newtype ΛState Source #

Internal ΛTeXT configration state

Constructors

ΛState 

data Text :: * #

A space efficient, packed, unboxed Unicode text type.

Instances

Render Text

This instance escapes LaTeX reserved characters.

Methods

render :: Text -> Text #

type Item Text 
type Item Text = Char

Orphan instances

MonadReader r m => MonadReader r (LaTeXT m) Source # 

Methods

ask :: LaTeXT m r #

local :: (r -> r) -> LaTeXT m a -> LaTeXT m a #

reader :: (r -> a) -> LaTeXT m a #

MonadState s m => MonadState s (LaTeXT m) Source # 

Methods

get :: LaTeXT m s #

put :: s -> LaTeXT m () #

state :: (s -> (a, s)) -> LaTeXT m a #

MonadWriter w m => MonadWriter w (LaTeXT m) Source # 

Methods

writer :: (a, w) -> LaTeXT m a #

tell :: w -> LaTeXT m () #

listen :: LaTeXT m a -> LaTeXT m (a, w) #

pass :: LaTeXT m (a, w -> w) -> LaTeXT m a #