order-maintenance-0.1.1.1: Algorithms for the order maintenance problem with a safe interface

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Trans.Order.Lazy

Contents

Synopsis

The Order monad

evalOrder :: (forall o. Order o a) -> a Source #

evalOrderWith :: Algorithm -> (forall o. Order o a) -> a Source #

The OrderT monad transformer

data OrderT o m a Source #

Instances

MonadTrans (OrderT o) Source # 

Methods

lift :: Monad m => m a -> OrderT o m a #

Monad m => Monad (OrderT o m) Source # 

Methods

(>>=) :: OrderT o m a -> (a -> OrderT o m b) -> OrderT o m b #

(>>) :: OrderT o m a -> OrderT o m b -> OrderT o m b #

return :: a -> OrderT o m a #

fail :: String -> OrderT o m a #

Functor m => Functor (OrderT o m) Source # 

Methods

fmap :: (a -> b) -> OrderT o m a -> OrderT o m b #

(<$) :: a -> OrderT o m b -> OrderT o m a #

Monad m => Applicative (OrderT o m) Source # 

Methods

pure :: a -> OrderT o m a #

(<*>) :: OrderT o m (a -> b) -> OrderT o m a -> OrderT o m b #

(*>) :: OrderT o m a -> OrderT o m b -> OrderT o m b #

(<*) :: OrderT o m a -> OrderT o m b -> OrderT o m a #

MonadIO m => MonadIO (OrderT o m) Source # 

Methods

liftIO :: IO a -> OrderT o m a #

MonadPlus m => Alternative (OrderT o m) Source # 

Methods

empty :: OrderT o m a #

(<|>) :: OrderT o m a -> OrderT o m a -> OrderT o m a #

some :: OrderT o m a -> OrderT o m [a] #

many :: OrderT o m a -> OrderT o m [a] #

MonadPlus m => MonadPlus (OrderT o m) Source # 

Methods

mzero :: OrderT o m a #

mplus :: OrderT o m a -> OrderT o m a -> OrderT o m a #

evalOrderT :: Monad m => (forall o. OrderT o m a) -> m a Source #

evalOrderTWith :: Monad m => Algorithm -> (forall o. OrderT o m a) -> m a Source #

force :: Monad m => OrderT o m () Source #

Elements

newAfter :: Monad m => Element o -> OrderT o m (Element o) Source #