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

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Trans.Order.Strict

Contents

Synopsis

The Order monad

perform :: (a -> Order o b) -> OrderPair o a -> OrderPair o b 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 #

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

Methods

mfix :: (a -> OrderT o m a) -> 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 #

performT :: Functor f => (a -> OrderT o f b) -> OrderPair o a -> f (OrderPair o b) Source #

Element creation

Converting between lazy and strict OrderT