avail-0.1.0.0: Low-overhead effect management for concrete monads
Safe HaskellNone
LanguageHaskell2010

Avail.Instances

Description

This module exports instances of the M monad for all typeclasses in capability, transformers-base, monad-control, exceptions, unliftio and mtl.

All instances are reexported in the Avail module, so you don't need to import this module.

Orphan instances

IsEff MonadFail Source # 
Instance details

Associated Types

type Superclasses MonadFail :: [Effect] Source #

IsEff MonadIO Source # 
Instance details

Associated Types

type Superclasses MonadIO :: [Effect] Source #

IsEff Alternative Source # 
Instance details

Associated Types

type Superclasses Alternative :: [Effect] Source #

IsEff MonadPlus Source # 
Instance details

Associated Types

type Superclasses MonadPlus :: [Effect] Source #

IsEff MonadThrow Source # 
Instance details

Associated Types

type Superclasses MonadThrow :: [Effect] Source #

IsEff MonadCatch Source # 
Instance details

Associated Types

type Superclasses MonadCatch :: [Effect] Source #

IsEff MonadMask Source # 
Instance details

Associated Types

type Superclasses MonadMask :: [Effect] Source #

IsEff MonadCont Source # 
Instance details

Associated Types

type Superclasses MonadCont :: [Effect] Source #

IsEff PrimMonad Source # 
Instance details

Associated Types

type Superclasses PrimMonad :: [Effect] Source #

IsEff MonadUnliftIO Source # 
Instance details

Associated Types

type Superclasses MonadUnliftIO :: [Effect] Source #

(MonadRWS r w s m, Eff (MonadRWS r w s)) => MonadRWS r w s (M m) Source # 
Instance details

(MonadWriter w m, Eff (MonadWriter w)) => MonadWriter w (M m) Source # 
Instance details

Methods

writer :: (a, w) -> M m a #

tell :: w -> M m () #

listen :: M m a -> M m (a, w) #

pass :: M m (a, w -> w) -> M m a #

(MonadState s m, Eff (MonadState s)) => MonadState s (M m) Source # 
Instance details

Methods

get :: M m s #

put :: s -> M m () #

state :: (s -> (a, s)) -> M m a #

(MonadReader r m, Eff (MonadReader r)) => MonadReader r (M m) Source # 
Instance details

Methods

ask :: M m r #

local :: (r -> r) -> M m a -> M m a #

reader :: (r -> a) -> M m a #

(MonadError e m, Eff (MonadError e)) => MonadError e (M m) Source # 
Instance details

Methods

throwError :: e -> M m a #

catchError :: M m a -> (e -> M m a) -> M m a #

IsEff (MonadWriter w) Source # 
Instance details

Associated Types

type Superclasses (MonadWriter w) :: [Effect] Source #

IsEff (MonadState s) Source # 
Instance details

Associated Types

type Superclasses (MonadState s) :: [Effect] Source #

IsEff (MonadReader r) Source # 
Instance details

Associated Types

type Superclasses (MonadReader r) :: [Effect] Source #

IsEff (MonadError e) Source # 
Instance details

Associated Types

type Superclasses (MonadError e) :: [Effect] Source #

(MonadFail m, Eff MonadFail) => MonadFail (M m) Source # 
Instance details

Methods

fail :: String -> M m a #

(MonadIO m, Eff MonadIO) => MonadIO (M m) Source # 
Instance details

Methods

liftIO :: IO a -> M m a #

(Alternative m, Eff Alternative) => Alternative (M m) Source # 
Instance details

Methods

empty :: M m a #

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

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

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

(MonadPlus m, Eff MonadPlus) => MonadPlus (M m) Source # 
Instance details

Methods

mzero :: M m a #

mplus :: M m a -> M m a -> M m a #

(MonadThrow m, Eff MonadThrow) => MonadThrow (M m) Source # 
Instance details

Methods

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

(MonadCatch m, Eff MonadCatch) => MonadCatch (M m) Source # 
Instance details

Methods

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

(MonadMask m, Eff MonadMask) => MonadMask (M m) Source # 
Instance details

Methods

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

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

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

(MonadCont m, Eff MonadCont) => MonadCont (M m) Source # 
Instance details

Methods

callCC :: ((a -> M m b) -> M m a) -> M m a #

(PrimMonad m, Eff PrimMonad) => PrimMonad (M m) Source # 
Instance details

Associated Types

type PrimState (M m) #

Methods

primitive :: (State# (PrimState (M m)) -> (# State# (PrimState (M m)), a #)) -> M m a #

(MonadUnliftIO m, Eff MonadUnliftIO) => MonadUnliftIO (M m) Source # 
Instance details

Methods

withRunInIO :: ((forall a. M m a -> IO a) -> IO b) -> M m b #

IsEff (MonadRWS r w s) Source # 
Instance details

Associated Types

type Superclasses (MonadRWS r w s) :: [Effect] Source #