uvmhs-0.0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

UVMHS.Core.Monads

Documentation

newtype MU m Source #

Constructors

MU 

Fields

Instances

Instances details
Bind m => Append (MU m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⧺) :: MU m -> MU m -> MU m Source #

Monad m => Monoid (MU m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Return m => Null (MU m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

null :: MU m Source #

newtype ID a Source #

Constructors

ID 

Fields

Instances

Instances details
Cobind ID Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(=≫) :: ID a -> (ID a -> b) -> ID b Source #

Comonad ID Source # 
Instance details

Defined in UVMHS.Core.Monads

Extract ID Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

extract :: ID a -> a Source #

Bind ID Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(≫=) :: ID a -> (a -> ID b) -> ID b Source #

Functor ID Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map :: (a -> b) -> ID a -> ID b Source #

Monad ID Source # 
Instance details

Defined in UVMHS.Core.Monads

Return ID Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

return :: a -> ID a Source #

Bot a => Bot (ID a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

bot :: ID a Source #

Difference a => Difference (ID a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⊟) :: ID a -> ID a -> ID a Source #

Dual a => Dual (ID a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

dual :: ID a -> ID a Source #

Join a => Join (ID a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⊔) :: ID a -> ID a -> ID a Source #

(Bot a, Join a) => JoinLattice (ID a) Source # 
Instance details

Defined in UVMHS.Core.Monads

(Bot a, Join a, Top a, Meet a) => Lattice (ID a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Meet a => Meet (ID a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⊓) :: ID a -> ID a -> ID a Source #

(Top a, Meet a) => MeetLattice (ID a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Top a => Top (ID a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

top :: ID a Source #

Append a => Append (ID a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⧺) :: ID a -> ID a -> ID a Source #

(Null a, Append a) => Monoid (ID a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Null a => Null (ID a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

null :: ID a Source #

Pretty a => Pretty (ID a) Source # 
Instance details

Defined in UVMHS.Lib.Pretty.DerivedInstances

Methods

pretty :: ID a -> Doc Source #

newtype ReaderT r m a Source #

Constructors

ReaderT 

Fields

Instances

Instances details
(Monad m, MonadError e m) => MonadError e (ReaderT r m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

throw :: forall (a :: k). e -> ReaderT r m a Source #

catch :: forall (a :: k). ReaderT r m a -> (e -> ReaderT r m a) -> ReaderT r m a Source #

LiftDelay (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftDelay :: Monad m => (forall a. (() -> m a) -> m a) -> forall (a :: k). (() -> ReaderT r m a) -> ReaderT r m a Source #

LiftError (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftThrow :: Monad m => (forall a. e -> m a) -> forall (a :: k). e -> ReaderT r m a Source #

liftCatch :: Monad m => (forall a. m a -> (e -> m a) -> m a) -> forall (a :: k). ReaderT r m a -> (e -> ReaderT r m a) -> ReaderT r m a Source #

LiftFail (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAbort :: Monad m => (forall a. m a) -> forall (a :: k). ReaderT r m a Source #

liftTry :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). ReaderT r m a -> ReaderT r m a -> ReaderT r m a Source #

LiftNondet (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMzero :: Monad m => (forall a. m a) -> forall (a :: k). ReaderT r m a Source #

liftMplus :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). ReaderT r m a -> ReaderT r m a -> ReaderT r m a Source #

LiftTop (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMtop :: Monad m => (forall a. m a) -> forall (a :: k). ReaderT r m a Source #

(Monad m, MonadCont r' m) => MonadCont r' (ReaderT r m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

callCC :: ((a -> ReaderT r m r') -> ReaderT r m r') -> ReaderT r m a Source #

withC :: (a -> ReaderT r m r') -> ReaderT r m a -> ReaderT r m r' Source #

(Monad m, MonadDelay m) => MonadDelay (ReaderT r m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

delay :: forall (a :: k). (() -> ReaderT r m a) -> ReaderT r m a Source #

(Monad m, MonadFail m) => MonadFail (ReaderT r m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

abort :: forall (a :: k). ReaderT r m a Source #

(⎅) :: forall (a :: k). ReaderT r m a -> ReaderT r m a -> ReaderT r m a Source #

(Monad m, MonadNondet m) => MonadNondet (ReaderT r m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mzero :: forall (a :: k). ReaderT r m a Source #

(⊞) :: forall (a :: k). ReaderT r m a -> ReaderT r m a -> ReaderT r m a Source #

Monad m => MonadReader r (ReaderT r m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

askL :: (r r') -> ReaderT r m r' Source #

localL :: forall a r'. (r r') -> r' -> ReaderT r m a -> ReaderT r m a Source #

(Monad m, MonadState s m) => MonadState s (ReaderT r m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

get :: ReaderT r m s Source #

put :: s -> ReaderT r m () Source #

(Monad m, MonadTop m) => MonadTop (ReaderT r m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mtop :: forall (a :: k). ReaderT r m a Source #

(Monad m, MonadWriter o m) => MonadWriter o (ReaderT r m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

tell :: o -> ReaderT r m () Source #

hijack :: ReaderT r m a -> ReaderT r m (o a) Source #

Functor2 (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map2 :: forall (t :: Type -> Type) (u :: Type -> Type). (t →⁻ u) -> ReaderT r t →⁻ ReaderT r u Source #

Transformer (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

lift :: Monad m => m a -> ReaderT r m a Source #

LiftCont (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftCallCC :: Monad m => (forall a. ((a -> m r0) -> m r0) -> m a) -> forall a. ((a -> ReaderT r m r0) -> ReaderT r m r0) -> ReaderT r m a Source #

liftWithC :: Monad m => (forall a. (a -> m r0) -> m a -> m r0) -> forall a. (a -> ReaderT r m r0) -> ReaderT r m a -> ReaderT r m r0 Source #

LiftIO (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftIO :: Monad m => (forall a. IO a -> m a) -> forall a. IO a -> ReaderT r m a Source #

LiftReader (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAskL :: Monad m => (forall r'. (r0 r') -> m r') -> forall r'. (r0 r') -> ReaderT r m r' Source #

liftLocalL :: Monad m => (forall r' a. (r0 r') -> r' -> m a -> m a) -> forall r' a. (r0 r') -> r' -> ReaderT r m a -> ReaderT r m a Source #

LiftState (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftGet :: Monad m => m s -> ReaderT r m s Source #

liftPut :: Monad m => (s -> m ()) -> s -> ReaderT r m () Source #

LiftWriter (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftTell :: Monad m => (o -> m ()) -> o -> ReaderT r m () Source #

liftHijack :: Monad m => (forall a. m a -> m (o a)) -> forall a. ReaderT r m a -> ReaderT r m (o a) Source #

Bind m => Bind (ReaderT r m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(≫=) :: ReaderT r m a -> (a -> ReaderT r m b) -> ReaderT r m b Source #

Functor m => Functor (ReaderT r m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map :: (a -> b) -> ReaderT r m a -> ReaderT r m b Source #

Monad m => Monad (ReaderT r m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Return m => Return (ReaderT r m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

return :: a -> ReaderT r m a Source #

(Monad m, MonadIO m) => MonadIO (ReaderT r m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> ReaderT r m a Source #

(RWST r o s) ⇄⁼ (((ReaderT r :: (Type -> Type) -> Type -> Type) WriterT o) StateT s) Source # 
Instance details

Defined in UVMHS.Core.Monads

(Func Append m, Append a) => Append (ReaderT r m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⧺) :: ReaderT r m a -> ReaderT r m a -> ReaderT r m a Source #

(Func Null m, Func Append m, Monoid a) => Monoid (ReaderT r m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

(Func Null m, Null a) => Null (ReaderT r m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

null :: ReaderT r m a Source #

runReaderT :: forall r m a. r -> ReaderT r m a -> m a Source #

newtype WriterT o m a Source #

Constructors

WriterT 

Fields

Instances

Instances details
(Monad m, MonadError e m) => MonadError e (WriterT o m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

throw :: forall (a :: k). e -> WriterT o m a Source #

catch :: forall (a :: k). WriterT o m a -> (e -> WriterT o m a) -> WriterT o m a Source #

LiftDelay (WriterT o :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftDelay :: Monad m => (forall a. (() -> m a) -> m a) -> forall (a :: k). (() -> WriterT o m a) -> WriterT o m a Source #

LiftError (WriterT o :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftThrow :: Monad m => (forall a. e -> m a) -> forall (a :: k). e -> WriterT o m a Source #

liftCatch :: Monad m => (forall a. m a -> (e -> m a) -> m a) -> forall (a :: k). WriterT o m a -> (e -> WriterT o m a) -> WriterT o m a Source #

LiftFail (WriterT o :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAbort :: Monad m => (forall a. m a) -> forall (a :: k). WriterT o m a Source #

liftTry :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). WriterT o m a -> WriterT o m a -> WriterT o m a Source #

LiftNondet (WriterT o :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMzero :: Monad m => (forall a. m a) -> forall (a :: k). WriterT o m a Source #

liftMplus :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). WriterT o m a -> WriterT o m a -> WriterT o m a Source #

LiftTop (WriterT o :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMtop :: Monad m => (forall a. m a) -> forall (a :: k). WriterT o m a Source #

(Monoid o, Monad m, MonadCont (o r) m) => MonadCont r (WriterT o m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

callCC :: ((a -> WriterT o m r) -> WriterT o m r) -> WriterT o m a Source #

withC :: (a -> WriterT o m r) -> WriterT o m a -> WriterT o m r Source #

(Monad m, MonadDelay m) => MonadDelay (WriterT o m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

delay :: forall (a :: k). (() -> WriterT o m a) -> WriterT o m a Source #

(Monad m, MonadFail m) => MonadFail (WriterT o m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

abort :: forall (a :: k). WriterT o m a Source #

(⎅) :: forall (a :: k). WriterT o m a -> WriterT o m a -> WriterT o m a Source #

(Monad m, MonadNondet m) => MonadNondet (WriterT o m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mzero :: forall (a :: k). WriterT o m a Source #

(⊞) :: forall (a :: k). WriterT o m a -> WriterT o m a -> WriterT o m a Source #

(Null o, Monad m, MonadReader r m) => MonadReader r (WriterT o m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

askL :: (r r') -> WriterT o m r' Source #

localL :: forall a r'. (r r') -> r' -> WriterT o m a -> WriterT o m a Source #

(Null o, Monad m, MonadState s m) => MonadState s (WriterT o m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

get :: WriterT o m s Source #

put :: s -> WriterT o m () Source #

(Monad m, MonadTop m) => MonadTop (WriterT o m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mtop :: forall (a :: k). WriterT o m a Source #

(Monad m, Null o) => MonadWriter o (WriterT o m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

tell :: o -> WriterT o m () Source #

hijack :: WriterT o m a -> WriterT o m (o a) Source #

Monoid o => Functor2 (WriterT o) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map2 :: forall (t :: Type -> Type) (u :: Type -> Type). (t →⁻ u) -> WriterT o t →⁻ WriterT o u Source #

Null o => Transformer (WriterT o) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

lift :: Monad m => m a -> WriterT o m a Source #

Null o => LiftIO (WriterT o) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftIO :: Monad m => (forall a. IO a -> m a) -> forall a. IO a -> WriterT o m a Source #

Null o => LiftReader (WriterT o) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAskL :: Monad m => (forall r'. (r r') -> m r') -> forall r'. (r r') -> WriterT o m r' Source #

liftLocalL :: Monad m => (forall r' a. (r r') -> r' -> m a -> m a) -> forall r' a. (r r') -> r' -> WriterT o m a -> WriterT o m a Source #

Null o => LiftState (WriterT o) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftGet :: Monad m => m s -> WriterT o m s Source #

liftPut :: Monad m => (s -> m ()) -> s -> WriterT o m () Source #

Null o => LiftWriter (WriterT o) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftTell :: Monad m => (o0 -> m ()) -> o0 -> WriterT o m () Source #

liftHijack :: Monad m => (forall a. m a -> m (o0 a)) -> forall a. WriterT o m a -> WriterT o m (o0 a) Source #

(Monad m, Append o) => Bind (WriterT o m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(≫=) :: WriterT o m a -> (a -> WriterT o m b) -> WriterT o m b Source #

Functor m => Functor (WriterT o m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map :: (a -> b) -> WriterT o m a -> WriterT o m b Source #

(Monad m, Monoid o) => Monad (WriterT o m) Source # 
Instance details

Defined in UVMHS.Core.Monads

(Return m, Null o) => Return (WriterT o m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

return :: a -> WriterT o m a Source #

(Null o, Monad m, MonadIO m) => MonadIO (WriterT o m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> WriterT o m a Source #

(Func Append m, Append o, Append a) => Append (WriterT o m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⧺) :: WriterT o m a -> WriterT o m a -> WriterT o m a Source #

(Func Null m, Func Append m, Monoid o, Monoid a) => Monoid (WriterT o m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

(Func Null m, Null o, Null a) => Null (WriterT o m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

null :: WriterT o m a Source #

(RWST r o s) ⇄⁼ (((ReaderT r :: (Type -> Type) -> Type -> Type) WriterT o) StateT s) Source # 
Instance details

Defined in UVMHS.Core.Monads

evalWriterT :: forall o m a. Functor m => WriterT o m a -> m a Source #

newtype StateT s m a Source #

Constructors

StateT 

Fields

Instances

Instances details
(Monad m, MonadError e m) => MonadError e (StateT s m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

throw :: forall (a :: k). e -> StateT s m a Source #

catch :: forall (a :: k). StateT s m a -> (e -> StateT s m a) -> StateT s m a Source #

LiftDelay (StateT s :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftDelay :: Monad m => (forall a. (() -> m a) -> m a) -> forall (a :: k). (() -> StateT s m a) -> StateT s m a Source #

LiftError (StateT s :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftThrow :: Monad m => (forall a. e -> m a) -> forall (a :: k). e -> StateT s m a Source #

liftCatch :: Monad m => (forall a. m a -> (e -> m a) -> m a) -> forall (a :: k). StateT s m a -> (e -> StateT s m a) -> StateT s m a Source #

LiftFail (StateT s :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAbort :: Monad m => (forall a. m a) -> forall (a :: k). StateT s m a Source #

liftTry :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). StateT s m a -> StateT s m a -> StateT s m a Source #

LiftNondet (StateT s :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMzero :: Monad m => (forall a. m a) -> forall (a :: k). StateT s m a Source #

liftMplus :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). StateT s m a -> StateT s m a -> StateT s m a Source #

LiftTop (StateT s :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMtop :: Monad m => (forall a. m a) -> forall (a :: k). StateT s m a Source #

(Monad m, MonadCont (s u) m) => MonadCont u (StateT s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

callCC :: ((a -> StateT s m u) -> StateT s m u) -> StateT s m a Source #

withC :: (a -> StateT s m u) -> StateT s m a -> StateT s m u Source #

(Monad m, MonadDelay m) => MonadDelay (StateT s m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

delay :: forall (a :: k). (() -> StateT s m a) -> StateT s m a Source #

(Monad m, MonadFail m) => MonadFail (StateT s m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

abort :: forall (a :: k). StateT s m a Source #

(⎅) :: forall (a :: k). StateT s m a -> StateT s m a -> StateT s m a Source #

(Monad m, MonadNondet m) => MonadNondet (StateT s m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mzero :: forall (a :: k). StateT s m a Source #

(⊞) :: forall (a :: k). StateT s m a -> StateT s m a -> StateT s m a Source #

(Monad m, MonadReader r m) => MonadReader r (StateT s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

askL :: (r r') -> StateT s m r' Source #

localL :: forall a r'. (r r') -> r' -> StateT s m a -> StateT s m a Source #

Return m => MonadState s (StateT s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

get :: StateT s m s Source #

put :: s -> StateT s m () Source #

(Monad m, MonadTop m) => MonadTop (StateT s m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mtop :: forall (a :: k). StateT s m a Source #

(Monad m, MonadWriter o m) => MonadWriter o (StateT s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

tell :: o -> StateT s m () Source #

hijack :: StateT s m a -> StateT s m (o a) Source #

Functor2 (StateT s) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map2 :: forall (t :: Type -> Type) (u :: Type -> Type). (t →⁻ u) -> StateT s t →⁻ StateT s u Source #

Transformer (StateT s) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

lift :: Monad m => m a -> StateT s m a Source #

LiftIO (StateT s) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftIO :: Monad m => (forall a. IO a -> m a) -> forall a. IO a -> StateT s m a Source #

LiftReader (StateT s) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAskL :: Monad m => (forall r'. (r r') -> m r') -> forall r'. (r r') -> StateT s m r' Source #

liftLocalL :: Monad m => (forall r' a. (r r') -> r' -> m a -> m a) -> forall r' a. (r r') -> r' -> StateT s m a -> StateT s m a Source #

LiftState (StateT s) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftGet :: Monad m => m s0 -> StateT s m s0 Source #

liftPut :: Monad m => (s0 -> m ()) -> s0 -> StateT s m () Source #

LiftWriter (StateT s) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftTell :: Monad m => (o -> m ()) -> o -> StateT s m () Source #

liftHijack :: Monad m => (forall a. m a -> m (o a)) -> forall a. StateT s m a -> StateT s m (o a) Source #

Bind m => Bind (StateT s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(≫=) :: StateT s m a -> (a -> StateT s m b) -> StateT s m b Source #

Functor m => Functor (StateT s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map :: (a -> b) -> StateT s m a -> StateT s m b Source #

Monad m => Monad (StateT s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Return m => Return (StateT s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

return :: a -> StateT s m a Source #

(Monad m, MonadIO m) => MonadIO (StateT s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> StateT s m a Source #

(Func Append m, Append s, Append a) => Append (StateT s m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⧺) :: StateT s m a -> StateT s m a -> StateT s m a Source #

(Func Null m, Func Append m, Monoid s, Monoid a) => Monoid (StateT s m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

(Func Null m, Null s, Null a) => Null (StateT s m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

null :: StateT s m a Source #

(RWST r o s) ⇄⁼ (((ReaderT r :: (Type -> Type) -> Type -> Type) WriterT o) StateT s) Source # 
Instance details

Defined in UVMHS.Core.Monads

runStateT :: forall s m a. s -> StateT s m a -> m (s a) Source #

evalStateT :: forall s m a. Functor m => s -> StateT s m a -> m a Source #

type State s = StateT s ID Source #

mkState :: (s -> s a) -> State s a Source #

runState :: s -> State s a -> s a Source #

evalState :: s -> State s a -> a Source #

newtype FailT m a Source #

Constructors

FailT 

Fields

Instances

Instances details
Functor2 FailT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map2 :: forall (t :: Type -> Type) (u :: Type -> Type). (t →⁻ u) -> FailT t →⁻ FailT u Source #

Transformer FailT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

lift :: Monad m => m a -> FailT m a Source #

LiftIO FailT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftIO :: Monad m => (forall a. IO a -> m a) -> forall a. IO a -> FailT m a Source #

LiftReader FailT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAskL :: Monad m => (forall r'. (r r') -> m r') -> forall r'. (r r') -> FailT m r' Source #

liftLocalL :: Monad m => (forall r' a. (r r') -> r' -> m a -> m a) -> forall r' a. (r r') -> r' -> FailT m a -> FailT m a Source #

LiftState FailT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftGet :: Monad m => m s -> FailT m s Source #

liftPut :: Monad m => (s -> m ()) -> s -> FailT m () Source #

LiftWriter FailT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftTell :: Monad m => (o -> m ()) -> o -> FailT m () Source #

liftHijack :: Monad m => (forall a. m a -> m (o a)) -> forall a. FailT m a -> FailT m (o a) Source #

LiftDelay FailT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftDelay :: Monad m => (forall a. (() -> m a) -> m a) -> forall (a :: k). (() -> FailT m a) -> FailT m a Source #

LiftError FailT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftThrow :: Monad m => (forall a. e -> m a) -> forall (a :: k). e -> FailT m a Source #

liftCatch :: Monad m => (forall a. m a -> (e -> m a) -> m a) -> forall (a :: k). FailT m a -> (e -> FailT m a) -> FailT m a Source #

LiftFail FailT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAbort :: Monad m => (forall a. m a) -> forall (a :: k). FailT m a Source #

liftTry :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). FailT m a -> FailT m a -> FailT m a Source #

LiftNondet FailT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMzero :: Monad m => (forall a. m a) -> forall (a :: k). FailT m a Source #

liftMplus :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). FailT m a -> FailT m a -> FailT m a Source #

LiftTop FailT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMtop :: Monad m => (forall a. m a) -> forall (a :: k). FailT m a Source #

(Monad m, MonadError e m) => MonadError e (FailT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

throw :: forall (a :: k). e -> FailT m a Source #

catch :: forall (a :: k). FailT m a -> (e -> FailT m a) -> FailT m a Source #

(Monad m, MonadCont (𝑂 r) m) => MonadCont r (FailT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

callCC :: ((a -> FailT m r) -> FailT m r) -> FailT m a Source #

withC :: (a -> FailT m r) -> FailT m a -> FailT m r Source #

(Monad m, MonadDelay m) => MonadDelay (FailT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

delay :: forall (a :: k). (() -> FailT m a) -> FailT m a Source #

Monad m => MonadFail (FailT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

abort :: forall (a :: k). FailT m a Source #

(⎅) :: forall (a :: k). FailT m a -> FailT m a -> FailT m a Source #

(Monad m, MonadNondet m) => MonadNondet (FailT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mzero :: forall (a :: k). FailT m a Source #

(⊞) :: forall (a :: k). FailT m a -> FailT m a -> FailT m a Source #

(Monad m, MonadReader r m) => MonadReader r (FailT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

askL :: (r r') -> FailT m r' Source #

localL :: forall a r'. (r r') -> r' -> FailT m a -> FailT m a Source #

(Monad m, MonadState s m) => MonadState s (FailT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

get :: FailT m s Source #

put :: s -> FailT m () Source #

(Monad m, MonadTop m) => MonadTop (FailT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mtop :: forall (a :: k). FailT m a Source #

(Monad m, MonadWriter o m) => MonadWriter o (FailT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

tell :: o -> FailT m () Source #

hijack :: FailT m a -> FailT m (o a) Source #

Monad m => Bind (FailT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(≫=) :: FailT m a -> (a -> FailT m b) -> FailT m b Source #

Functor m => Functor (FailT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map :: (a -> b) -> FailT m a -> FailT m b Source #

Monad m => Monad (FailT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Return m => Return (FailT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

return :: a -> FailT m a Source #

(Monad m, MonadIO m) => MonadIO (FailT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> FailT m a Source #

(Func Append m, Append a) => Append (FailT m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⧺) :: FailT m a -> FailT m a -> FailT m a Source #

(Func Null m, Func Append m, Monoid a) => Monoid (FailT m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

(Func Null m, Null a) => Null (FailT m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

null :: FailT m a Source #

newtype ErrorT e m a Source #

Constructors

ErrorT 

Fields

Instances

Instances details
Monad m => MonadError e (ErrorT e m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

throw :: forall (a :: k). e -> ErrorT e m a Source #

catch :: forall (a :: k). ErrorT e m a -> (e -> ErrorT e m a) -> ErrorT e m a Source #

LiftDelay (ErrorT e :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftDelay :: Monad m => (forall a. (() -> m a) -> m a) -> forall (a :: k). (() -> ErrorT e m a) -> ErrorT e m a Source #

LiftError (ErrorT e :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftThrow :: Monad m => (forall a. e0 -> m a) -> forall (a :: k). e0 -> ErrorT e m a Source #

liftCatch :: Monad m => (forall a. m a -> (e0 -> m a) -> m a) -> forall (a :: k). ErrorT e m a -> (e0 -> ErrorT e m a) -> ErrorT e m a Source #

LiftFail (ErrorT e :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAbort :: Monad m => (forall a. m a) -> forall (a :: k). ErrorT e m a Source #

liftTry :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). ErrorT e m a -> ErrorT e m a -> ErrorT e m a Source #

LiftNondet (ErrorT e :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMzero :: Monad m => (forall a. m a) -> forall (a :: k). ErrorT e m a Source #

liftMplus :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). ErrorT e m a -> ErrorT e m a -> ErrorT e m a Source #

LiftTop (ErrorT e :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMtop :: Monad m => (forall a. m a) -> forall (a :: k). ErrorT e m a Source #

(Monad m, MonadCont (e r) m) => MonadCont r (ErrorT e m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

callCC :: ((a -> ErrorT e m r) -> ErrorT e m r) -> ErrorT e m a Source #

withC :: (a -> ErrorT e m r) -> ErrorT e m a -> ErrorT e m r Source #

(Monad m, MonadDelay m) => MonadDelay (ErrorT e m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

delay :: forall (a :: k). (() -> ErrorT e m a) -> ErrorT e m a Source #

(Monad m, MonadFail m) => MonadFail (ErrorT e m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

abort :: forall (a :: k). ErrorT e m a Source #

(⎅) :: forall (a :: k). ErrorT e m a -> ErrorT e m a -> ErrorT e m a Source #

(Monad m, MonadNondet m) => MonadNondet (ErrorT e m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mzero :: forall (a :: k). ErrorT e m a Source #

(⊞) :: forall (a :: k). ErrorT e m a -> ErrorT e m a -> ErrorT e m a Source #

(Monad m, MonadReader r m) => MonadReader r (ErrorT e m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

askL :: (r r') -> ErrorT e m r' Source #

localL :: forall a r'. (r r') -> r' -> ErrorT e m a -> ErrorT e m a Source #

(Monad m, MonadState s m) => MonadState s (ErrorT e m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

get :: ErrorT e m s Source #

put :: s -> ErrorT e m () Source #

(Monad m, MonadTop m) => MonadTop (ErrorT e m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mtop :: forall (a :: k). ErrorT e m a Source #

(Monad m, MonadWriter o m) => MonadWriter o (ErrorT e m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

tell :: o -> ErrorT e m () Source #

hijack :: ErrorT e m a -> ErrorT e m (o a) Source #

Functor2 (ErrorT e) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map2 :: forall (t :: Type -> Type) (u :: Type -> Type). (t →⁻ u) -> ErrorT e t →⁻ ErrorT e u Source #

Transformer (ErrorT e) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

lift :: Monad m => m a -> ErrorT e m a Source #

LiftIO (ErrorT e) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftIO :: Monad m => (forall a. IO a -> m a) -> forall a. IO a -> ErrorT e m a Source #

LiftReader (ErrorT e) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAskL :: Monad m => (forall r'. (r r') -> m r') -> forall r'. (r r') -> ErrorT e m r' Source #

liftLocalL :: Monad m => (forall r' a. (r r') -> r' -> m a -> m a) -> forall r' a. (r r') -> r' -> ErrorT e m a -> ErrorT e m a Source #

LiftState (ErrorT e) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftGet :: Monad m => m s -> ErrorT e m s Source #

liftPut :: Monad m => (s -> m ()) -> s -> ErrorT e m () Source #

LiftWriter (ErrorT e) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftTell :: Monad m => (o -> m ()) -> o -> ErrorT e m () Source #

liftHijack :: Monad m => (forall a. m a -> m (o a)) -> forall a. ErrorT e m a -> ErrorT e m (o a) Source #

Monad m => Bind (ErrorT e m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(≫=) :: ErrorT e m a -> (a -> ErrorT e m b) -> ErrorT e m b Source #

Functor m => Functor (ErrorT e m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map :: (a -> b) -> ErrorT e m a -> ErrorT e m b Source #

Monad m => Monad (ErrorT e m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Return m => Return (ErrorT e m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

return :: a -> ErrorT e m a Source #

(Monad m, MonadIO m) => MonadIO (ErrorT e m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> ErrorT e m a Source #

(Func Append m, Append e, Append a) => Append (ErrorT e m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⧺) :: ErrorT e m a -> ErrorT e m a -> ErrorT e m a Source #

(Func Null m, Func Append m, Append e, Monoid a) => Monoid (ErrorT e m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

(Func Null m, Null a) => Null (ErrorT e m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

null :: ErrorT e m a Source #

newtype DelayT m a Source #

Constructors

DelayT 

Fields

Instances

Instances details
(Monad m, MonadError e m) => MonadError e (DelayT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

throw :: forall (a :: k). e -> DelayT m a Source #

catch :: forall (a :: k). DelayT m a -> (e -> DelayT m a) -> DelayT m a Source #

LiftDelay (DelayT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftDelay :: Monad m => (forall a. (() -> m a) -> m a) -> forall (a :: k). (() -> DelayT m a) -> DelayT m a Source #

LiftError (DelayT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftThrow :: Monad m => (forall a. e -> m a) -> forall (a :: k). e -> DelayT m a Source #

liftCatch :: Monad m => (forall a. m a -> (e -> m a) -> m a) -> forall (a :: k). DelayT m a -> (e -> DelayT m a) -> DelayT m a Source #

LiftFail (DelayT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAbort :: Monad m => (forall a. m a) -> forall (a :: k). DelayT m a Source #

liftTry :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). DelayT m a -> DelayT m a -> DelayT m a Source #

LiftNondet (DelayT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMzero :: Monad m => (forall a. m a) -> forall (a :: k). DelayT m a Source #

liftMplus :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). DelayT m a -> DelayT m a -> DelayT m a Source #

LiftTop (DelayT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMtop :: Monad m => (forall a. m a) -> forall (a :: k). DelayT m a Source #

MonadCont r m => MonadCont r (DelayT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

callCC :: ((a -> DelayT m r) -> DelayT m r) -> DelayT m a Source #

withC :: (a -> DelayT m r) -> DelayT m a -> DelayT m r Source #

MonadDelay (DelayT m :: k -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

delay :: forall (a :: k0). (() -> DelayT m a) -> DelayT m a Source #

(Monad m, MonadFail m) => MonadFail (DelayT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

abort :: forall (a :: k). DelayT m a Source #

(⎅) :: forall (a :: k). DelayT m a -> DelayT m a -> DelayT m a Source #

(Monad m, MonadNondet m) => MonadNondet (DelayT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mzero :: forall (a :: k). DelayT m a Source #

(⊞) :: forall (a :: k). DelayT m a -> DelayT m a -> DelayT m a Source #

(Monad m, MonadReader r m) => MonadReader r (DelayT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

askL :: (r r') -> DelayT m r' Source #

localL :: forall a r'. (r r') -> r' -> DelayT m a -> DelayT m a Source #

(Monad m, MonadState s m) => MonadState s (DelayT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

get :: DelayT m s Source #

put :: s -> DelayT m () Source #

(Monad m, MonadTop m) => MonadTop (DelayT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mtop :: forall (a :: k). DelayT m a Source #

(Monad m, MonadWriter o m) => MonadWriter o (DelayT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

tell :: o -> DelayT m () Source #

hijack :: DelayT m a -> DelayT m (o a) Source #

Functor2 (DelayT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map2 :: forall (t :: Type -> Type) (u :: Type -> Type). (t →⁻ u) -> DelayT t →⁻ DelayT u Source #

Transformer (DelayT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

lift :: Monad m => m a -> DelayT m a Source #

LiftIO (DelayT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftIO :: Monad m => (forall a. IO a -> m a) -> forall a. IO a -> DelayT m a Source #

LiftReader (DelayT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAskL :: Monad m => (forall r'. (r r') -> m r') -> forall r'. (r r') -> DelayT m r' Source #

liftLocalL :: Monad m => (forall r' a. (r r') -> r' -> m a -> m a) -> forall r' a. (r r') -> r' -> DelayT m a -> DelayT m a Source #

LiftState (DelayT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftGet :: Monad m => m s -> DelayT m s Source #

liftPut :: Monad m => (s -> m ()) -> s -> DelayT m () Source #

LiftWriter (DelayT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftTell :: Monad m => (o -> m ()) -> o -> DelayT m () Source #

liftHijack :: Monad m => (forall a. m a -> m (o a)) -> forall a. DelayT m a -> DelayT m (o a) Source #

Bind m => Bind (DelayT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(≫=) :: DelayT m a -> (a -> DelayT m b) -> DelayT m b Source #

Functor m => Functor (DelayT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map :: (a -> b) -> DelayT m a -> DelayT m b Source #

Monad m => Monad (DelayT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Return m => Return (DelayT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

return :: a -> DelayT m a Source #

(Monad m, MonadIO m) => MonadIO (DelayT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> DelayT m a Source #

MonadUCont m => MonadUCont (DelayT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

ucallCC :: (forall u. (a -> DelayT m u) -> DelayT m u) -> DelayT m a Source #

uwithC :: (a -> DelayT m u) -> DelayT m a -> DelayT m u Source #

Const Append m => Append (DelayT m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⧺) :: DelayT m a -> DelayT m a -> DelayT m a Source #

(Const Null m, Const Append m) => Monoid (DelayT m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Const Null m => Null (DelayT m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

null :: DelayT m a Source #

runDelayT :: DelayT m a -> m a Source #

newtype NondetT m a Source #

Constructors

NondetT 

Fields

Instances

Instances details
Transformer NondetT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

lift :: Monad m => m a -> NondetT m a Source #

LiftIO NondetT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftIO :: Monad m => (forall a. IO a -> m a) -> forall a. IO a -> NondetT m a Source #

LiftReader NondetT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAskL :: Monad m => (forall r'. (r r') -> m r') -> forall r'. (r r') -> NondetT m r' Source #

liftLocalL :: Monad m => (forall r' a. (r r') -> r' -> m a -> m a) -> forall r' a. (r r') -> r' -> NondetT m a -> NondetT m a Source #

LiftState NondetT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftGet :: Monad m => m s -> NondetT m s Source #

liftPut :: Monad m => (s -> m ()) -> s -> NondetT m () Source #

LiftWriter NondetT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftTell :: Monad m => (o -> m ()) -> o -> NondetT m () Source #

liftHijack :: Monad m => (forall a. m a -> m (o a)) -> forall a. NondetT m a -> NondetT m (o a) Source #

LiftDelay NondetT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftDelay :: Monad m => (forall a. (() -> m a) -> m a) -> forall (a :: k). (() -> NondetT m a) -> NondetT m a Source #

LiftError NondetT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftThrow :: Monad m => (forall a. e -> m a) -> forall (a :: k). e -> NondetT m a Source #

liftCatch :: Monad m => (forall a. m a -> (e -> m a) -> m a) -> forall (a :: k). NondetT m a -> (e -> NondetT m a) -> NondetT m a Source #

LiftFail NondetT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftAbort :: Monad m => (forall a. m a) -> forall (a :: k). NondetT m a Source #

liftTry :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). NondetT m a -> NondetT m a -> NondetT m a Source #

LiftNondet NondetT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMzero :: Monad m => (forall a. m a) -> forall (a :: k). NondetT m a Source #

liftMplus :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). NondetT m a -> NondetT m a -> NondetT m a Source #

LiftTop NondetT Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftMtop :: Monad m => (forall a. m a) -> forall (a :: k). NondetT m a Source #

(Monad m, MonadError e m) => MonadError e (NondetT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

throw :: forall (a :: k). e -> NondetT m a Source #

catch :: forall (a :: k). NondetT m a -> (e -> NondetT m a) -> NondetT m a Source #

(Monad m, Func Monoid m, MonadCont (𝑄 r) m) => MonadCont r (NondetT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

callCC :: ((a -> NondetT m r) -> NondetT m r) -> NondetT m a Source #

withC :: (a -> NondetT m r) -> NondetT m a -> NondetT m r Source #

(Monad m, MonadDelay m) => MonadDelay (NondetT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

delay :: forall (a :: k). (() -> NondetT m a) -> NondetT m a Source #

(Monad m, MonadFail m) => MonadFail (NondetT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

abort :: forall (a :: k). NondetT m a Source #

(⎅) :: forall (a :: k). NondetT m a -> NondetT m a -> NondetT m a Source #

Func Monoid m => MonadNondet (NondetT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mzero :: forall (a :: k). NondetT m a Source #

(⊞) :: forall (a :: k). NondetT m a -> NondetT m a -> NondetT m a Source #

(Monad m, MonadReader r m) => MonadReader r (NondetT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

askL :: (r r') -> NondetT m r' Source #

localL :: forall a r'. (r r') -> r' -> NondetT m a -> NondetT m a Source #

(Monad m, MonadState s m) => MonadState s (NondetT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

get :: NondetT m s Source #

put :: s -> NondetT m () Source #

(Monad m, MonadTop m) => MonadTop (NondetT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mtop :: forall (a :: k). NondetT m a Source #

(Monad m, MonadWriter o m) => MonadWriter o (NondetT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

tell :: o -> NondetT m () Source #

hijack :: NondetT m a -> NondetT m (o a) Source #

(Bind m, Func Monoid m) => Bind (NondetT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(≫=) :: NondetT m a -> (a -> NondetT m b) -> NondetT m b Source #

Functor m => Functor (NondetT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map :: (a -> b) -> NondetT m a -> NondetT m b Source #

(Monad m, Func Monoid m) => Monad (NondetT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Return m => Return (NondetT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

return :: a -> NondetT m a Source #

(Monad m, MonadIO m) => MonadIO (NondetT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> NondetT m a Source #

newtype ContT u m a Source #

Constructors

ContT 

Fields

Instances

Instances details
(Monad m, MonadError e m) => MonadError e (ContT u m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

throw :: forall (a :: k). e -> ContT u m a Source #

catch :: forall (a :: k). ContT u m a -> (e -> ContT u m a) -> ContT u m a Source #

LiftDelay (ContT u :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftDelay :: Monad m => (forall a. (() -> m a) -> m a) -> forall (a :: k). (() -> ContT u m a) -> ContT u m a Source #

Monad m => MonadCont u (ContT u m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

callCC :: ((a -> ContT u m u) -> ContT u m u) -> ContT u m a Source #

withC :: (a -> ContT u m u) -> ContT u m a -> ContT u m u Source #

(Monad m, MonadDelay m) => MonadDelay (ContT u m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

delay :: forall (a :: k). (() -> ContT u m a) -> ContT u m a Source #

(Monad m, MonadFail m) => MonadFail (ContT u m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

abort :: forall (a :: k). ContT u m a Source #

(⎅) :: forall (a :: k). ContT u m a -> ContT u m a -> ContT u m a Source #

(Monad m, MonadNondet m) => MonadNondet (ContT u m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mzero :: forall (a :: k). ContT u m a Source #

(⊞) :: forall (a :: k). ContT u m a -> ContT u m a -> ContT u m a Source #

(Monad m, MonadReader r m) => MonadReader r (ContT u m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

askL :: (r r') -> ContT u m r' Source #

localL :: forall a r'. (r r') -> r' -> ContT u m a -> ContT u m a Source #

(Monad m, MonadState s m) => MonadState s (ContT u m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

get :: ContT u m s Source #

put :: s -> ContT u m () Source #

(Monad m, MonadTop m) => MonadTop (ContT u m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mtop :: forall (a :: k). ContT u m a Source #

(Monad m, Monoid o, MonadWriter o m) => MonadWriter o (ContT (o r) m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

tell :: o -> ContT (o r) m () Source #

hijack :: ContT (o r) m a -> ContT (o r) m (o a) Source #

Functor2Iso (ContT u) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map2iso :: forall (t :: Type -> Type) (u0 :: Type -> Type). Iso2 t u0 -> ContT u t →⁻ ContT u u0 Source #

Transformer (ContT u) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

lift :: Monad m => m a -> ContT u m a Source #

LiftIO (ContT u) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftIO :: Monad m => (forall a. IO a -> m a) -> forall a. IO a -> ContT u m a Source #

Bind (ContT u m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(≫=) :: ContT u m a -> (a -> ContT u m b) -> ContT u m b Source #

Functor (ContT u m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map :: (a -> b) -> ContT u m a -> ContT u m b Source #

Monad (ContT u m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Return (ContT u m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

return :: a -> ContT u m a Source #

(Monad m, MonadIO m) => MonadIO (ContT u m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> ContT u m a Source #

(Func Append m, Append u) => Append (ContT u m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⧺) :: ContT u m a -> ContT u m a -> ContT u m a Source #

(Func Null m, Func Append m, Monoid u) => Monoid (ContT u m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

(Func Null m, Null u) => Null (ContT u m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

null :: ContT u m a Source #

runContT :: (a -> m u) -> ContT u m a -> m u Source #

evalContT :: Return m => ContT u m u -> m u Source #

newtype UContT m a Source #

Constructors

UContT 

Fields

  • unUContT :: forall u. (a -> m u) -> m u
     

Instances

Instances details
(Monad m, MonadError e m) => MonadError e (UContT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

throw :: forall (a :: k). e -> UContT m a Source #

catch :: forall (a :: k). UContT m a -> (e -> UContT m a) -> UContT m a Source #

LiftDelay (UContT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftDelay :: Monad m => (forall a. (() -> m a) -> m a) -> forall (a :: k). (() -> UContT m a) -> UContT m a Source #

(Monad m, MonadDelay m) => MonadDelay (UContT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

delay :: forall (a :: k). (() -> UContT m a) -> UContT m a Source #

(Monad m, MonadFail m) => MonadFail (UContT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

abort :: forall (a :: k). UContT m a Source #

(⎅) :: forall (a :: k). UContT m a -> UContT m a -> UContT m a Source #

(Monad m, MonadNondet m) => MonadNondet (UContT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mzero :: forall (a :: k). UContT m a Source #

(⊞) :: forall (a :: k). UContT m a -> UContT m a -> UContT m a Source #

(Monad m, MonadReader r m) => MonadReader r (UContT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

askL :: (r r') -> UContT m r' Source #

localL :: forall a r'. (r r') -> r' -> UContT m a -> UContT m a Source #

(Monad m, MonadState s m) => MonadState s (UContT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

get :: UContT m s Source #

put :: s -> UContT m () Source #

(Monad m, MonadTop m) => MonadTop (UContT m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mtop :: forall (a :: k). UContT m a Source #

(Monad m, Monoid o, MonadWriter o m) => MonadWriter o (UContT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

tell :: o -> UContT m () Source #

hijack :: UContT m a -> UContT m (o a) Source #

Functor2Iso (UContT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map2iso :: forall (t :: Type -> Type) (u :: Type -> Type). Iso2 t u -> UContT t →⁻ UContT u Source #

Transformer (UContT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

lift :: Monad m => m a -> UContT m a Source #

LiftIO (UContT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

liftIO :: Monad m => (forall a. IO a -> m a) -> forall a. IO a -> UContT m a Source #

Bind (UContT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(≫=) :: UContT m a -> (a -> UContT m b) -> UContT m b Source #

Functor (UContT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map :: (a -> b) -> UContT m a -> UContT m b Source #

Monad (UContT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Return (UContT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

return :: a -> UContT m a Source #

(Monad m, MonadIO m) => MonadIO (UContT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> UContT m a Source #

Monad m => MonadUCont (UContT m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

ucallCC :: (forall u. (a -> UContT m u) -> UContT m u) -> UContT m a Source #

uwithC :: (a -> UContT m u) -> UContT m a -> UContT m u Source #

Const Append m => Append (UContT m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⧺) :: UContT m a -> UContT m a -> UContT m a Source #

Const Monoid m => Monoid (UContT m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Const Null m => Null (UContT m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

null :: UContT m a Source #

runUContT :: forall u m a. (a -> m u) -> UContT m a -> m u Source #

evalUContT :: Return m => UContT m a -> m a Source #

newtype RWST r o s m a Source #

Constructors

RWST 

Fields

Instances

Instances details
(Monad m, Monoid o, MonadError e m) => MonadError e (RWST r o s m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

throw :: forall (a :: k). e -> RWST r o s m a Source #

catch :: forall (a :: k). RWST r o s m a -> (e -> RWST r o s m a) -> RWST r o s m a Source #

(Monad m, Monoid o, MonadDelay m) => MonadDelay (RWST r o s m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

delay :: forall (a :: k). (() -> RWST r o s m a) -> RWST r o s m a Source #

(Monad m, Monoid o, MonadFail m) => MonadFail (RWST r o s m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

abort :: forall (a :: k). RWST r o s m a Source #

(⎅) :: forall (a :: k). RWST r o s m a -> RWST r o s m a -> RWST r o s m a Source #

(Monad m, Monoid o, MonadNondet m) => MonadNondet (RWST r o s m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mzero :: forall (a :: k). RWST r o s m a Source #

(⊞) :: forall (a :: k). RWST r o s m a -> RWST r o s m a -> RWST r o s m a Source #

(Monad m, Monoid o) => MonadReader r (RWST r o s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

askL :: (r r') -> RWST r o s m r' Source #

localL :: forall a r'. (r r') -> r' -> RWST r o s m a -> RWST r o s m a Source #

(Monad m, Monoid o) => MonadState s (RWST r o s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

get :: RWST r o s m s Source #

put :: s -> RWST r o s m () Source #

(Monad m, Monoid o, MonadTop m) => MonadTop (RWST r o s m :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

mtop :: forall (a :: k). RWST r o s m a Source #

(Monad m, Monoid o) => MonadWriter o (RWST r o s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

tell :: o -> RWST r o s m () Source #

hijack :: RWST r o s m a -> RWST r o s m (o a) Source #

Monoid o => Functor2 (RWST r o s) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map2 :: forall (t :: Type -> Type) (u :: Type -> Type). (t →⁻ u) -> RWST r o s t →⁻ RWST r o s u Source #

Monoid o => Transformer (RWST r o s) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

lift :: Monad m => m a -> RWST r o s m a Source #

(RWST r o s) ⇄⁼ (((ReaderT r :: (Type -> Type) -> Type -> Type) WriterT o) StateT s) Source # 
Instance details

Defined in UVMHS.Core.Monads

(Monad m, Append o) => Bind (RWST r o s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(≫=) :: RWST r o s m a -> (a -> RWST r o s m b) -> RWST r o s m b Source #

Functor m => Functor (RWST r o s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

map :: (a -> b) -> RWST r o s m a -> RWST r o s m b Source #

(Null o, Monad m, Append o) => Monad (RWST r o s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

(Return m, Null o) => Return (RWST r o s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

return :: a -> RWST r o s m a Source #

(Monad m, Monoid o, MonadIO m) => MonadIO (RWST r o s m) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> RWST r o s m a Source #

(Func Append m, Append o, Append s, Append a) => Append (RWST r o s m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(⧺) :: RWST r o s m a -> RWST r o s m a -> RWST r o s m a Source #

(Func Null m, Func Append m, Monoid o, Monoid s, Monoid a) => Monoid (RWST r o s m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

(Func Null m, Null o, Null s, Null a) => Null (RWST r o s m a) Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

null :: RWST r o s m a Source #

mkRWST :: forall r o s m a. Monad m => (r -> s -> m ((s o) a)) -> RWST r o s m a Source #

runRWST :: forall r o s m a. Monad m => r -> s -> RWST r o s m a -> m ((s o) a) Source #

evalRWST :: forall r o s m a. Monad m => r -> s -> RWST r o s m a -> m a Source #

type RWS r o s = RWST r o s ID Source #

mkRWS :: forall r o s a. (r -> s -> (s o) a) -> RWS r o s a Source #

runRWS :: forall r o s a. r -> s -> RWS r o s a -> (s o) a Source #

evalRWS :: forall r o s a. r -> s -> RWS r o s a -> a Source #

Orphan instances

Bind IO Source # 
Instance details

Methods

(≫=) :: IO a -> (a -> IO b) -> IO b Source #

Functor IO Source # 
Instance details

Methods

map :: (a -> b) -> IO a -> IO b Source #

Monad IO Source # 
Instance details

Return IO Source # 
Instance details

Methods

return :: a -> IO a Source #

MonadIO IO Source # 
Instance details

Methods

io :: IO a -> IO a Source #