glpk-hs-0.5: Comprehensive GLPK linear programming bindings

Safe HaskellNone
LanguageHaskell98

Control.Monad.LPMonad.Supply

Synopsis

Documentation

newtype Var Source #

A type suitable for use as a linear program variable.

Constructors

Var 

Fields

Instances

Enum Var Source # 

Methods

succ :: Var -> Var #

pred :: Var -> Var #

toEnum :: Int -> Var #

fromEnum :: Var -> Int #

enumFrom :: Var -> [Var] #

enumFromThen :: Var -> Var -> [Var] #

enumFromTo :: Var -> Var -> [Var] #

enumFromThenTo :: Var -> Var -> Var -> [Var] #

Eq Var Source # 

Methods

(==) :: Var -> Var -> Bool #

(/=) :: Var -> Var -> Bool #

Ord Var Source # 

Methods

compare :: Var -> Var -> Ordering #

(<) :: Var -> Var -> Bool #

(<=) :: Var -> Var -> Bool #

(>) :: Var -> Var -> Bool #

(>=) :: Var -> Var -> Bool #

max :: Var -> Var -> Var #

min :: Var -> Var -> Var #

Read Var Source # 
Show Var Source # 

Methods

showsPrec :: Int -> Var -> ShowS #

show :: Var -> String #

showList :: [Var] -> ShowS #

Monad m => MonadSupply Var (VSupplyT m) Source # 

type VSupply = VSupplyT Identity Source #

A monad capable of supplying unique variables.

data VSupplyT m a Source #

A monad transformer capable of supplying unique variables.

Instances

MonadTrans VSupplyT Source # 

Methods

lift :: Monad m => m a -> VSupplyT m a #

MonadError e m => MonadError e (VSupplyT m) Source # 

Methods

throwError :: e -> VSupplyT m a #

catchError :: VSupplyT m a -> (e -> VSupplyT m a) -> VSupplyT m a #

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

Methods

ask :: VSupplyT m r #

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

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

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

Methods

get :: VSupplyT m s #

put :: s -> VSupplyT m () #

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

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

Methods

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

tell :: w -> VSupplyT m () #

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

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

Monad m => MonadSupply Var (VSupplyT m) Source # 
Monad m => Monad (VSupplyT m) Source # 

Methods

(>>=) :: VSupplyT m a -> (a -> VSupplyT m b) -> VSupplyT m b #

(>>) :: VSupplyT m a -> VSupplyT m b -> VSupplyT m b #

return :: a -> VSupplyT m a #

fail :: String -> VSupplyT m a #

Functor m => Functor (VSupplyT m) Source # 

Methods

fmap :: (a -> b) -> VSupplyT m a -> VSupplyT m b #

(<$) :: a -> VSupplyT m b -> VSupplyT m a #

MonadFix m => MonadFix (VSupplyT m) Source # 

Methods

mfix :: (a -> VSupplyT m a) -> VSupplyT m a #

Monad m => Applicative (VSupplyT m) Source # 

Methods

pure :: a -> VSupplyT m a #

(<*>) :: VSupplyT m (a -> b) -> VSupplyT m a -> VSupplyT m b #

(*>) :: VSupplyT m a -> VSupplyT m b -> VSupplyT m b #

(<*) :: VSupplyT m a -> VSupplyT m b -> VSupplyT m a #

MonadIO m => MonadIO (VSupplyT m) Source # 

Methods

liftIO :: IO a -> VSupplyT m a #

MonadPlus m => Alternative (VSupplyT m) Source # 

Methods

empty :: VSupplyT m a #

(<|>) :: VSupplyT m a -> VSupplyT m a -> VSupplyT m a #

some :: VSupplyT m a -> VSupplyT m [a] #

many :: VSupplyT m a -> VSupplyT m [a] #

MonadPlus m => MonadPlus (VSupplyT m) Source # 

Methods

mzero :: VSupplyT m a #

mplus :: VSupplyT m a -> VSupplyT m a -> VSupplyT m a #

MonadCont m => MonadCont (VSupplyT m) Source # 

Methods

callCC :: ((a -> VSupplyT m b) -> VSupplyT m a) -> VSupplyT m a #

runVSupplyT :: Monad m => VSupplyT m a -> m a Source #