uvmhs-0.0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

UVMHS.Core.Effects

Documentation

class MonadIO (m :: ★ -> ★) where Source #

Methods

io :: IO a -> m a Source #

Instances

Instances details
MonadIO IO Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> IO a Source #

MonadIO Q Source # 
Instance details

Defined in UVMHS.Core.TH

Methods

io :: IO a -> Q 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 #

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

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> NondetT 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 #

(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 #

(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 #

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

Defined in UVMHS.Core.Monads

Methods

io :: IO a -> UContT 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 #

(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 #

(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 #

(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 #

class LiftIO t where Source #

Methods

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

Instances

Instances details
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 #

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 #

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 #

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 #

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 #

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 #

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 #

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 #

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 #

(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftIO t₁, LiftIO t₂) => LiftIO (t₁ t₂) Source # 
Instance details

Defined in UVMHS.Core.Transformers

Methods

liftIO :: Monad m => (forall a. IO a -> m a) -> forall a. IO a -> (t₁ t₂) m a Source #

class MonadReader r m | m -> r where Source #

Methods

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

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

Instances

Instances details
MonadReader FuzzyEnv FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

askL :: (FuzzyEnv r') -> FuzzyM r' Source #

localL :: forall a r'. (FuzzyEnv r') -> r' -> FuzzyM a -> FuzzyM a Source #

MonadReader ParserEnv (Parser t) Source # 
Instance details

Defined in UVMHS.Lib.Parser.Core

Methods

askL :: (ParserEnv r') -> Parser t r' Source #

localL :: forall a r'. (ParserEnv r') -> r' -> Parser t a -> Parser t 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, 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, 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, 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, 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 #

(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 #

(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 #

(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 => 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 #

MonadReader r ((->) r) Source # 
Instance details

Defined in UVMHS.Core.Effects

Methods

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

localL :: forall a r'. (r r') -> r' -> (r -> a) -> r -> 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 #

Ord s => MonadReader (SubstEnv s e) (SubstM s e) Source # 
Instance details

Defined in UVMHS.Lib.Substitution

Methods

askL :: (SubstEnv s e r') -> SubstM s e r' Source #

localL :: forall a r'. (SubstEnv s e r') -> r' -> SubstM s e a -> SubstM s e a Source #

class LiftReader t where Source #

Methods

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

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

Instances

Instances details
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 #

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 #

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 #

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 #

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 #

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 #

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 #

(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftReader t₁, LiftReader t₂) => LiftReader (t₁ t₂) Source # 
Instance details

Defined in UVMHS.Core.Transformers

Methods

liftAskL :: Monad m => (forall r'. (r r') -> m r') -> forall r'. (r r') -> (t₁ t₂) m r' Source #

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

class MonadWriter o m | m -> o where Source #

Methods

tell :: o -> m () Source #

hijack :: forall a. m a -> m (o a) Source #

Instances

Instances details
Null o => MonadWriter o ((∧) o) Source # 
Instance details

Defined in UVMHS.Core.Effects

Methods

tell :: o -> o () Source #

hijack :: (o a) -> o (o 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, 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 #

(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 #

(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 #

(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 #

(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 #

(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 #

(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 #

(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 #

(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 #

MonadWriter (ParserOut t) (Parser t) Source # 
Instance details

Defined in UVMHS.Lib.Parser.Core

Methods

tell :: ParserOut t -> Parser t () Source #

hijack :: Parser t a -> Parser t (ParserOut t a) Source #

Ord s => MonadWriter (s 𝑃 𝕐) (SubstM s e) Source # 
Instance details

Defined in UVMHS.Lib.Substitution

Methods

tell :: (s 𝑃 𝕐) -> SubstM s e () Source #

hijack :: SubstM s e a -> SubstM s e ((s 𝑃 𝕐) a) Source #

class LiftWriter t where Source #

Methods

liftTell :: forall m o. Monad m => (o -> m ()) -> o -> t m () Source #

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

Instances

Instances details
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 #

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 #

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 #

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 #

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 #

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 #

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 #

(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftWriter t₁, LiftWriter t₂) => LiftWriter (t₁ t₂) Source # 
Instance details

Defined in UVMHS.Core.Transformers

Methods

liftTell :: Monad m => (o -> m ()) -> o -> (t₁ t₂) m () Source #

liftHijack :: Monad m => (forall a. m a -> m (o a)) -> forall a. (t₁ t₂) m a -> (t₁ t₂) m (o a) Source #

class MonadState s m | m -> s where Source #

Methods

get :: m s Source #

put :: s -> m () Source #

Instances

Instances details
MonadState RG FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

get :: FuzzyM RG Source #

put :: RG -> FuzzyM () 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, 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, 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, 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 #

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, 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 #

(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, 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, 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, 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 #

MonadState (ParserState t) (Parser t) Source # 
Instance details

Defined in UVMHS.Lib.Parser.Core

Methods

get :: Parser t (ParserState t) Source #

put :: ParserState t -> Parser t () Source #

class LiftState t where Source #

Methods

liftGet :: forall m s. Monad m => m s -> t m s Source #

liftPut :: forall m s. Monad m => (s -> m ()) -> s -> t m () Source #

Instances

Instances details
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 #

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 #

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 #

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 #

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 #

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 #

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 #

(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftState t₁, LiftState t₂) => LiftState (t₁ t₂) Source # 
Instance details

Defined in UVMHS.Core.Transformers

Methods

liftGet :: Monad m => m s -> (t₁ t₂) m s Source #

liftPut :: Monad m => (s -> m ()) -> s -> (t₁ t₂) m () Source #

class MonadFail m where Source #

Methods

abort :: forall a. m a Source #

(⎅) :: forall a. m a -> m a -> m a infixl 5 Source #

Instances

Instances details
MonadFail 𝑂 Source # 
Instance details

Defined in UVMHS.Core.Effects

Methods

abort :: forall (a :: k). 𝑂 a Source #

(⎅) :: forall (a :: k). 𝑂 a -> 𝑂 a -> 𝑂 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, 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 #

Ord t => MonadFail (CParser t :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Lib.Parser.CParser

Methods

abort :: forall (a :: k). CParser t a Source #

(⎅) :: forall (a :: k). CParser t a -> CParser t a -> CParser t a Source #

MonadFail (Parser t :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Lib.Parser.Core

Methods

abort :: forall (a :: k). Parser t a Source #

(⎅) :: forall (a :: k). Parser t a -> Parser t a -> Parser t 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, 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, 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, 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, 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 #

Ord s => MonadFail (SubstM s e :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Lib.Substitution

Methods

abort :: forall (a :: k). SubstM s e a Source #

(⎅) :: forall (a :: k). SubstM s e a -> SubstM s e a -> SubstM s e 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, 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, 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 #

class LiftFail t where Source #

Methods

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

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

Instances

Instances details
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 #

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 #

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 #

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 #

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 #

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 #

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 #

(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftFail t₁, LiftFail t₂) => LiftFail (t₁ t₂ :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Transformers

Methods

liftAbort :: Monad m => (forall a. m a) -> forall (a :: k). (t₁ t₂) m a Source #

liftTry :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). (t₁ t₂) m a -> (t₁ t₂) m a -> (t₁ t₂) m a Source #

class MonadError e m | m -> e where Source #

Methods

throw :: forall a. e -> m a Source #

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

Instances

Instances details
MonadError e ((∨) e :: Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Effects

Methods

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

catch :: forall (a :: k). (e a) -> (e -> e a) -> e 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, 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, 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 #

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 #

(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 #

(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 #

(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 #

(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 #

(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 #

(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 #

class LiftError t where Source #

Methods

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

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

Instances

Instances details
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 #

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 #

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 #

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 #

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 #

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 #

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 #

(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftError t₁, LiftError t₂) => LiftError (t₁ t₂ :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Transformers

Methods

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

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

class MonadDelay m where Source #

Methods

delay :: (() -> m a) -> m a Source #

Instances

Instances details
(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, 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, 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, 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, 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, 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 #

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, 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, 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, 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 #

class LiftDelay t where Source #

Methods

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

Instances

Instances details
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 #

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 #

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 #

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 #

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 #

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 #

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 #

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 #

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 #

(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftDelay t₁, LiftDelay t₂) => LiftDelay (t₁ t₂ :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Transformers

Methods

liftDelay :: Monad m => (forall a. (() -> m a) -> m a) -> forall (a :: k). (() -> (t₁ t₂) m a) -> (t₁ t₂) m a Source #

class MonadNondet m where Source #

Methods

mzero :: forall a. m a Source #

(⊞) :: forall a. m a -> m a -> m a infixl 5 Source #

Instances

Instances details
MonadNondet 𝐼 Source # 
Instance details

Defined in UVMHS.Core.Effects

Methods

mzero :: forall (a :: k). 𝐼 a Source #

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

MonadNondet 𝐿 Source # 
Instance details

Defined in UVMHS.Core.Effects

Methods

mzero :: forall (a :: k). 𝐿 a Source #

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

MonadNondet 𝑄 Source # 
Instance details

Defined in UVMHS.Core.Effects

Methods

mzero :: forall (a :: k). 𝑄 a Source #

(⊞) :: forall (a :: k). 𝑄 a -> 𝑄 a -> 𝑄 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 #

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, 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, 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, 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, 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, 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 #

(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, 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, 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 #

class LiftNondet t where Source #

Methods

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

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

Instances

Instances details
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 #

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 #

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 #

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 #

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 #

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 #

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 #

(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftNondet t₁, LiftNondet t₂) => LiftNondet (t₁ t₂ :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Transformers

Methods

liftMzero :: Monad m => (forall a. m a) -> forall (a :: k). (t₁ t₂) m a Source #

liftMplus :: Monad m => (forall a. m a -> m a -> m a) -> forall (a :: k). (t₁ t₂) m a -> (t₁ t₂) m a -> (t₁ t₂) m a Source #

class MonadTop m where Source #

Methods

mtop :: forall a. m a Source #

Instances

Instances details
(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, 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, 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, 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, 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, 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, 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, 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, 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, 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 #

class LiftTop t where Source #

Methods

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

Instances

Instances details
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 #

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 #

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 #

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 #

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 #

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 #

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 #

(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftTop t₁, LiftTop t₂) => LiftTop (t₁ t₂ :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in UVMHS.Core.Transformers

Methods

liftMtop :: Monad m => (forall a. m a) -> forall (a :: k). (t₁ t₂) m a Source #

class MonadCont r m | m -> r where Source #

Methods

callCC :: forall a. ((a -> m r) -> m r) -> m a Source #

withC :: forall a. (a -> m r) -> m a -> m r Source #

Instances

Instances details
(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, 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 #

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 #

(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 #

(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, 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, 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 => 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 #

class LiftCont t where Source #

Methods

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

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

Instances

Instances details
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 #

(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftCont t₁, LiftCont t₂) => LiftCont (t₁ t₂) Source # 
Instance details

Defined in UVMHS.Core.Transformers

Methods

liftCallCC :: Monad m => (forall a. ((a -> m r) -> m r) -> m a) -> forall a. ((a -> (t₁ t₂) m r) -> (t₁ t₂) m r) -> (t₁ t₂) m a Source #

liftWithC :: Monad m => (forall a. (a -> m r) -> m a -> m r) -> forall a. (a -> (t₁ t₂) m r) -> (t₁ t₂) m a -> (t₁ t₂) m r Source #

class MonadUCont m where Source #

Methods

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

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

Instances

Instances details
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 #

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 #

Ord s => MonadUCont (SubstM s e) Source # 
Instance details

Defined in UVMHS.Lib.Substitution

Methods

ucallCC :: (forall u. (a -> SubstM s e u) -> SubstM s e u) -> SubstM s e a Source #

uwithC :: (a -> SubstM s e u) -> SubstM s e a -> SubstM s e u Source #

class LiftUCont t where Source #

Methods

liftUCallCC :: forall m. Monad m => (forall a. (forall u. (a -> m u) -> m u) -> m a) -> forall a. (forall u. (a -> t m u) -> t m u) -> t m a Source #

liftUWithC :: forall m. Monad m => (forall a u. (a -> m u) -> m a -> m u) -> forall a u. (a -> t m u) -> t m a -> t m u Source #

class MonadBad m where Source #

Methods

bad :: forall a. m a Source #

mapEnvL :: (Monad m, MonadReader r₁ m) => (r₁ r₂) -> (r₂ -> r₂) -> m a -> m a Source #

ask :: (Monad m, MonadReader r m) => m r Source #

local :: (Monad m, MonadReader r m) => r -> m a -> m a Source #

mapEnv :: (Monad m, MonadReader r m) => (r -> r) -> m a -> m a Source #

tellL :: (Monoid o₁, Monad m, MonadWriter o₁ m) => (o₁ o₂) -> o₂ -> m () Source #

hijackL :: (Monad m, MonadWriter o₁ m, Null o₂) => (o₁ o₂) -> m a -> m (o₂ a) Source #

mapOut :: (Monad m, MonadWriter o m) => (o -> o) -> m a -> m a Source #

retOut :: forall o m a. (Monad m, MonadWriter o m) => m a -> m o Source #

getL :: (Monad m, MonadState s m) => (s a) -> m a Source #

putL :: (Monad m, MonadState s m) => (s a) -> a -> m () Source #

modify :: (Monad m, MonadState s m) => (s -> s) -> m () Source #

modifyM :: (Monad m, MonadState s m) => (s -> m s) -> m () Source #

modifyL :: (Monad m, MonadState s m) => (s a) -> (a -> a) -> m () Source #

modifyML :: (Monad m, MonadState s m) => (s a) -> (a -> m a) -> m () Source #

getput :: (Monad m, MonadState s m) => s -> m s Source #

getputL :: (Monad m, MonadState s₁ m) => (s₁ s₂) -> s₂ -> m s₂ Source #

next :: (Monad m, MonadState s m, Multiplicative s) => m s Source #

nextL :: (Monad m, MonadState s m, Multiplicative a) => (s a) -> m a Source #

bump :: (Monad m, MonadState s m, Multiplicative s) => m () Source #

bumpL :: (Monad m, MonadState s m, Multiplicative a) => (s a) -> m () Source #

localize :: (Monad m, MonadState s m) => s -> m a -> m (s a) Source #

localizeL :: (Monad m, MonadState s₁ m) => (s₁ s₂) -> s₂ -> m a -> m (s₂ a) Source #

localState :: (Monad m, MonadState s m) => s -> m a -> m a Source #

localStateL :: (Monad m, MonadState s₁ m) => (s₁ s₂) -> s₂ -> m a -> m a Source #

retState :: (Monad m, MonadState s m) => m a -> m s Source #

retStateOut :: (Monad m, MonadState s m, MonadWriter o m) => m a -> m (s o) Source #

tellStateL :: (Monad m, MonadState o₁ m, Append o₂) => (o₁ o₂) -> o₂ -> m () Source #

hijackStateL :: (Monad m, MonadState o₁ m, Null o₂) => (o₁ o₂) -> m a -> m (o₂ a) Source #

localMapStateL :: (Monad m, MonadState s₁ m) => (s₁ s₂) -> (s₂ -> s₂) -> m a -> m a Source #

localStateEffectsL :: (Monad m, MonadState s₁ m) => (s₁ s₂) -> m a -> m a Source #

failEff :: (Monad m, MonadFail m) => 𝑂 a -> m a Source #

failObs :: (Monad m, MonadFail m) => m a -> m (𝑂 a) Source #

abort𝑂 :: (Monad m, MonadFail m) => 𝑂 a -> m a Source #

tries :: (Monad m, MonadFail m, ToIter (m a) t) => t -> m a Source #

guard :: (Monad m, MonadFail m) => 𝔹 -> m () Source #

oneOrMoreSplit :: (Monad m, MonadFail m) => m a -> m (a 𝐿 a) Source #

oneOrMore :: (Monad m, MonadFail m) => m a -> m (𝐿 a) Source #

many :: (Monad m, MonadFail m) => m a -> m (𝐿 a) Source #

throwEff :: (Monad m, MonadError e m) => m (e a) -> m a Source #

throwObs :: (Monad m, MonadError e m) => m a -> m (e a) Source #

throw𝑂 :: (Monad m, MonadError e m) => e -> 𝑂 a -> m a Source #

mconcat :: (MonadNondet m, ToIter (m a) t) => t -> m a Source #

from :: (Monad m, MonadNondet m, ToIter a t) => t -> m a Source #

oneOrMoreSplitNT :: (Monad m, MonadNondet m) => m a -> m (a 𝐿 a) Source #

oneOrMoreNT :: (Monad m, MonadNondet m) => m a -> m (𝐿 a) Source #

manyNT :: (Monad m, MonadNondet m) => m a -> m (𝐿 a) Source #

twoOrMoreSplitNT :: (Monad m, MonadNondet m) => m a -> m ((a a) 𝐿 a) Source #

manySepBy :: (Monad m, MonadNondet m) => m () -> m a -> m (𝐿 a) Source #

manyPrefBy :: (Monad m, MonadNondet m) => m () -> m a -> m (𝐿 a) Source #

mzero𝑂 :: (Monad m, MonadNondet m) => 𝑂 a -> m a Source #

return𝑃 :: forall m a. (Monad m, MonadNondet m) => 𝑃 a -> m a Source #

reset :: (Monad m, MonadCont u m) => m u -> m u Source #

modifyC :: (Monad m, MonadCont u m) => (u -> m u) -> m () Source #

withCOn :: (Monad m, MonadCont u m) => m a -> (a -> m u) -> m u Source #

putEnv :: (Monad m, MonadReader r m, MonadCont u m) => r -> m () Source #

putEnvL :: (Monad m, MonadReader r m, MonadCont u m) => (r r') -> r' -> m () Source #

modifyEnv :: (Monad m, MonadReader r m, MonadCont u m) => (r -> r) -> m () Source #

modifyEnvL :: (Monad m, MonadReader r m, MonadCont u m) => (r r') -> (r' -> r') -> m () Source #

ureset :: (Monad m, MonadUCont m) => m a -> m a Source #

umodifyC :: (Monad m, MonadUCont m) => (forall u. u -> m u) -> m () Source #

uwithCOn :: (Monad m, MonadUCont m) => m a -> (a -> m u) -> m u Source #

uputEnv :: (Monad m, MonadReader r m, MonadUCont m) => r -> m () Source #

uputEnvL :: (Monad m, MonadReader r m, MonadUCont m) => (r r') -> r' -> m () Source #

umodifyEnv :: (Monad m, MonadReader r m, MonadUCont m) => (r -> r) -> m () Source #

umodifyEnvL :: (Monad m, MonadReader r m, MonadUCont m) => (r r') -> (r' -> r') -> m () Source #

unextEnvL :: (Monad m, MonadReader r m, MonadUCont m, Zero a, One a, Plus a) => (r a) -> m a Source #

deriveAskL :: forall m₁ m₂ r r'. (m₁ ⇄⁻ m₂, MonadReader r m₂) => (r r') -> m₁ r' Source #

deriveLocal :: forall m₁ m₂ r r' a. (m₁ ⇄⁻ m₂, MonadReader r m₂) => (r r') -> r' -> m₁ a -> m₁ a Source #

deriveTell :: forall m₁ m₂ o. (m₁ ⇄⁻ m₂, MonadWriter o m₂) => o -> m₁ () Source #

deriveHijack :: forall m₁ m₂ o a. (m₁ ⇄⁻ m₂, MonadWriter o m₂) => m₁ a -> m₁ (o a) Source #

deriveGet :: forall m₁ m₂ s. (m₁ ⇄⁻ m₂, MonadState s m₂) => m₁ s Source #

derivePut :: forall m₁ m₂ s. (m₁ ⇄⁻ m₂, MonadState s m₂) => s -> m₁ () Source #

deriveAbort :: forall m₁ m₂ a. (m₁ ⇄⁻ m₂, MonadFail m₂) => m₁ a Source #

deriveTry :: forall m₁ m₂ a. (m₁ ⇄⁻ m₂, MonadFail m₂) => m₁ a -> m₁ a -> m₁ a Source #

deriveThrow :: forall m₁ m₂ e a. (m₁ ⇄⁻ m₂, MonadError e m₂) => e -> m₁ a Source #

deriveCatch :: forall m₁ m₂ e a. (m₁ ⇄⁻ m₂, MonadError e m₂) => m₁ a -> (e -> m₁ a) -> m₁ a Source #

deriveMzero :: forall m₁ m₂ a. (m₁ ⇄⁻ m₂, MonadNondet m₂) => m₁ a Source #

deriveMplus :: forall m₁ m₂ a. (m₁ ⇄⁻ m₂, MonadNondet m₂) => m₁ a -> m₁ a -> m₁ a Source #

deriveMtop :: forall m₁ m₂ a. (m₁ ⇄⁻ m₂, MonadTop m₂) => m₁ a Source #

deriveCallCC :: forall m₁ m₂ r a. (m₁ ⇄⁻ m₂, MonadCont r m₂) => ((a -> m₁ r) -> m₁ r) -> m₁ a Source #

deriveWithC :: forall m₁ m₂ r a. (m₁ ⇄⁻ m₂, MonadCont r m₂) => (a -> m₁ r) -> m₁ a -> m₁ r Source #