Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype SupplyT m a = SupplyT {}
- type Supply = SupplyT Identity
- class Monad m => MonadSupply m where
- runSupplyT :: Monad m => SupplyT m a -> m a
- runSupply :: Supply a -> a
- type Loc = Integer
- newtype TickT m a = TickT {}
- type Tick = TickT Identity
- class Monad m => MonadTick m where
- runTickT :: Monad m => TickT m a -> m a
- runTick :: Tick a -> a
- freshStr :: MonadSupply m => String -> m String
Documentation
Instances
MonadTrans SupplyT Source # | |
Defined in Control.Monads | |
MonadReader r m => MonadReader r (SupplyT m) Source # | |
MonadState s m => MonadState s (SupplyT m) Source # | |
MonadWriter w m => MonadWriter w (SupplyT m) Source # | |
Monad m => Monad (SupplyT m) Source # | |
Functor m => Functor (SupplyT m) Source # | |
MonadFix m => MonadFix (SupplyT m) Source # | |
Defined in Control.Monads | |
Monad m => Applicative (SupplyT m) Source # | |
MonadIO m => MonadIO (SupplyT m) Source # | |
Defined in Control.Monads | |
MonadException m => MonadException (SupplyT m) Source # | |
Monad m => MonadSupply (SupplyT m) Source # | |
class Monad m => MonadSupply m where Source #
Nothing
Create a fresh variable identifier
default fresh :: (m ~ t n, MonadTrans t, MonadSupply n) => m Integer Source #
Instances
MonadSupply m => MonadSupply (ExceptionT m) Source # | |
Defined in Control.Monads fresh :: ExceptionT m Integer Source # | |
Monad m => MonadSupply (SupplyT m) Source # | |
MonadSupply m => MonadSupply (StateT s m) Source # | |
MonadSupply m => MonadSupply (ReaderT r m) Source # | |
MonadSupply m => MonadSupply (StateT s m) Source # | |
(MonadSupply m, Monoid w) => MonadSupply (WriterT w m) Source # | |
runSupplyT :: Monad m => SupplyT m a -> m a Source #
Tick monad
Instances
MonadTrans TickT Source # | |
Defined in Control.Monads | |
MonadReader r m => MonadReader r (TickT m) Source # | |
MonadState s m => MonadState s (TickT m) Source # | |
MonadWriter w m => MonadWriter w (TickT m) Source # | |
Monad m => Monad (TickT m) Source # | |
Functor m => Functor (TickT m) Source # | |
MonadFix m => MonadFix (TickT m) Source # | |
Defined in Control.Monads | |
Monad m => Applicative (TickT m) Source # | |
Monad m => MonadTick (TickT m) Source # | |
class Monad m => MonadTick m where Source #
Nothing
default tick :: (m ~ t n, MonadTrans t, MonadTick n) => m () Source #