| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Control.Monad.LPMonad.Supply
- 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.
Instances
| MonadTrans VSupplyT Source | |
| MonadError e m => MonadError e (VSupplyT m) Source | |
| MonadReader r m => MonadReader r (VSupplyT m) Source | |
| MonadState s m => MonadState s (VSupplyT m) Source | |
| MonadWriter w m => MonadWriter w (VSupplyT m) Source | |
| Monad m => MonadSupply Var (VSupplyT m) Source | |
| Monad m => Monad (VSupplyT m) Source | |
| Functor m => Functor (VSupplyT m) Source | |
| MonadFix m => MonadFix (VSupplyT m) Source | |
| Monad m => Applicative (VSupplyT m) Source | |
| MonadPlus m => Alternative (VSupplyT m) Source | |
| MonadPlus m => MonadPlus (VSupplyT m) Source | |
| MonadIO m => MonadIO (VSupplyT m) Source | |
| MonadCont m => MonadCont (VSupplyT m) Source |
runVSupply :: VSupply a -> a Source
runVSupplyT :: Monad m => VSupplyT m a -> m a Source