Safe Haskell | None |
---|
- module Control.Monad.LPMonad.Supply.Class
- newtype Var = Var {}
- type VSupply = VSupplyT Identity
- data VSupplyT m a
- runVSupply :: VSupply a -> a
- runVSupplyT :: Monad m => VSupplyT m a -> m a
Documentation
A type suitable for use as a linear program variable.
A monad transformer capable of supplying unique variables.
MonadTrans VSupplyT | |
(Monad (VSupplyT m), MonadError e m) => MonadError e (VSupplyT m) | |
(Monad (VSupplyT m), MonadReader r m) => MonadReader r (VSupplyT m) | |
(Monad (VSupplyT m), MonadState s m) => MonadState s (VSupplyT m) | |
(Monoid w, Monad (VSupplyT m), MonadWriter w m) => MonadWriter w (VSupplyT m) | |
(Monad (VSupplyT m), Monad m) => MonadSupply Var (VSupplyT m) | |
Monad m => Monad (VSupplyT m) | |
Functor m => Functor (VSupplyT m) | |
(Monad (VSupplyT m), MonadFix m) => MonadFix (VSupplyT m) | |
(Monad (VSupplyT m), MonadPlus m) => MonadPlus (VSupplyT m) | |
(Monad (VSupplyT m), MonadIO m) => MonadIO (VSupplyT m) | |
(Monad (VSupplyT m), MonadCont m) => MonadCont (VSupplyT m) |
runVSupply :: VSupply a -> aSource
runVSupplyT :: Monad m => VSupplyT m a -> m aSource