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

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Trans.Order.Strict

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) 
(Functor m, MonadPlus m) => Alternative (OrderT o m) 
Monad m => Monad (OrderT o m) 
Functor m => Functor (OrderT o m) 
MonadPlus m => MonadPlus (OrderT o m) 
(Monad m, Functor m) => Applicative (OrderT o m) 
MonadIO m => MonadIO (OrderT o m) 

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

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

Elements

data Element o Source

Instances

Eq (Element o) 
Ord (Element o) 
Typeable (* -> *) Element 

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

Converting between lazy and strict OrderT