in-other-words-0.1.0.0: A higher-order effect system where the sky's the limit

Safe HaskellNone
LanguageHaskell2010

Control.Effect.Internal.Effly

Synopsis

Documentation

newtype Effly m a Source #

A newtype wrapper with instances based around the effects of m when possible; Effly as in "Effectfully."

This is often useful for making use of these instances inside of interpreter handlers, or within application code.

Constructors

Effly 

Fields

Instances
MonadBase b m => MonadBase b (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Methods

liftBase :: b α -> Effly m α #

MonadBaseControl b m => MonadBaseControl b (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Associated Types

type StM (Effly m) a :: Type #

Methods

liftBaseWith :: (RunInBase (Effly m) b -> b a) -> Effly m a #

restoreM :: StM (Effly m) a -> Effly m a #

MonadTrans (Effly :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Methods

lift :: Monad m => m a -> Effly m a #

MonadTransControl (Effly :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Associated Types

type StT Effly a :: Type #

Methods

liftWith :: Monad m => (Run Effly -> m a) -> Effly m a #

restoreT :: Monad m => m (StT Effly a) -> Effly m a #

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

Defined in Control.Effect.Internal.Effly

Methods

(>>=) :: Effly m a -> (a -> Effly m b) -> Effly m b #

(>>) :: Effly m a -> Effly m b -> Effly m b #

return :: a -> Effly m a #

fail :: String -> Effly m a #

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

Defined in Control.Effect.Internal.Effly

Methods

fmap :: (a -> b) -> Effly m a -> Effly m b #

(<$) :: a -> Effly m b -> Effly m a #

Eff Fix m => MonadFix (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Methods

mfix :: (a -> Effly m a) -> Effly m a #

Eff (Fail :: (Type -> Type) -> Type -> Type) m => MonadFail (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Methods

fail :: String -> Effly m a #

Applicative m => Applicative (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Methods

pure :: a -> Effly m a #

(<*>) :: Effly m (a -> b) -> Effly m a -> Effly m b #

liftA2 :: (a -> b -> c) -> Effly m a -> Effly m b -> Effly m c #

(*>) :: Effly m a -> Effly m b -> Effly m b #

(<*) :: Effly m a -> Effly m b -> Effly m a #

Eff (Embed IO :: (Type -> Type) -> Type -> Type) m => MonadIO (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Methods

liftIO :: IO a -> Effly m a #

Eff (Alt :: (Type -> Type) -> Type -> Type) m => Alternative (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Methods

empty :: Effly m a #

(<|>) :: Effly m a -> Effly m a -> Effly m a #

some :: Effly m a -> Effly m [a] #

many :: Effly m a -> Effly m [a] #

Eff (Alt :: (Type -> Type) -> Type -> Type) m => MonadPlus (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Methods

mzero :: Effly m a #

mplus :: Effly m a -> Effly m a -> Effly m a #

Eff (ErrorIO :: (Type -> Type) -> Type -> Type) m => MonadThrow (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Methods

throwM :: Exception e => e -> Effly m a #

Eff (ErrorIO :: (Type -> Type) -> Type -> Type) m => MonadCatch (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Methods

catch :: Exception e => Effly m a -> (e -> Effly m a) -> Effly m a #

Effs ((Mask :: (Type -> Type) -> Type -> Type) ': (Bracket ': ((ErrorIO :: (Type -> Type) -> Type -> Type) ': ([] :: [(Type -> Type) -> Type -> Type])))) m => MonadMask (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Methods

mask :: ((forall a. Effly m a -> Effly m a) -> Effly m b) -> Effly m b #

uninterruptibleMask :: ((forall a. Effly m a -> Effly m a) -> Effly m b) -> Effly m b #

generalBracket :: Effly m a -> (a -> ExitCase b -> Effly m c) -> (a -> Effly m b) -> Effly m (b, c) #

Carrier m => Carrier (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

Associated Types

type Derivs (Effly m) :: [Effect] Source #

type Prims (Effly m) :: [Effect] Source #

type StT (Effly :: (Type -> Type) -> Type -> Type) a Source # 
Instance details

Defined in Control.Effect.Internal.Effly

type StT (Effly :: (Type -> Type) -> Type -> Type) a = StT (IdentityT :: (Type -> Type) -> Type -> Type) a
type Derivs (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

type Derivs (Effly m) = Derivs m
type Prims (Effly m) Source # 
Instance details

Defined in Control.Effect.Internal.Effly

type Prims (Effly m) = Prims m
type StM (Effly m) a Source # 
Instance details

Defined in Control.Effect.Internal.Effly

type StM (Effly m) a = StM m a