glpk-hs-0.5: Comprehensive GLPK linear programming bindings

Safe HaskellSafe
LanguageHaskell98

Control.Monad.LPMonad.Supply.Class

Synopsis

Documentation

class Monad m => MonadSupply s m | m -> s where Source #

A class implemented by monads that can supply values of type s. Minimal implementation: supplyNew or supplyN.

Methods

supplyNew :: m s Source #

Supply a new value of type s.

supplyN :: Int -> m [s] Source #

Supply n values of type s.

Instances

Monad m => MonadSupply Var (VSupplyT m) Source # 
MonadSupply x m => MonadSupply x (StateT s m) Source # 

Methods

supplyNew :: StateT s m x Source #

supplyN :: Int -> StateT s m [x] Source #

(MonadSupply x m, Monoid w) => MonadSupply x (WriterT w m) Source # 

Methods

supplyNew :: WriterT w m x Source #

supplyN :: Int -> WriterT w m [x] Source #

(MonadSupply x m, Monoid w) => MonadSupply x (WriterT w m) Source # 

Methods

supplyNew :: WriterT w m x Source #

supplyN :: Int -> WriterT w m [x] Source #

(Error e, MonadSupply x m) => MonadSupply x (ErrorT e m) Source # 

Methods

supplyNew :: ErrorT e m x Source #

supplyN :: Int -> ErrorT e m [x] Source #

MonadSupply x m => MonadSupply x (StateT s m) Source # 

Methods

supplyNew :: StateT s m x Source #

supplyN :: Int -> StateT s m [x] Source #

MonadSupply x m => MonadSupply x (ContT * r m) Source # 

Methods

supplyNew :: ContT * r m x Source #

supplyN :: Int -> ContT * r m [x] Source #

MonadSupply x m => MonadSupply x (ReaderT * r m) Source # 

Methods

supplyNew :: ReaderT * r m x Source #

supplyN :: Int -> ReaderT * r m [x] Source #