| Copyright | (c) 2020-2021 Emily Pillmore |
|---|---|
| License | BSD-3-Clause |
| Maintainer | Emily Pillmore <emilypi@cohomolo.gy> |
| Stability | Experimental |
| Portability | Non-portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Control.Monad.Trans.Wedge
Contents
Description
This module contains utilities for the monad transformer for the pointed coproduct.
Monad transformer
A monad transformer for the pointed product, parameterized by:
a- the value on the leftb- the value on the rightm- The monad over a pointed coproduct (see:Wedge).
This monad transformer is similar to ExceptT,
except with the possibility of an empty unital value.
Instances
| (Semigroup t, MonadRWS r w s m) => MonadRWS r w s (WedgeT t m) Source # | |
Defined in Control.Monad.Trans.Wedge | |
| (MonadWriter w m, Semigroup t) => MonadWriter w (WedgeT t m) Source # | |
| (MonadState s m, Semigroup t) => MonadState s (WedgeT t m) Source # | |
| (MonadReader r m, Semigroup t) => MonadReader r (WedgeT t m) Source # | |
| (MonadError e m, Semigroup e) => MonadError e (WedgeT e m) Source # | |
Defined in Control.Monad.Trans.Wedge Methods throwError :: e -> WedgeT e m a # catchError :: WedgeT e m a -> (e -> WedgeT e m a) -> WedgeT e m a # | |
| MonadTrans (WedgeT a) Source # | |
Defined in Control.Monad.Trans.Wedge | |
| (Semigroup a, Monad m) => Monad (WedgeT a m) Source # | |
| Functor f => Functor (WedgeT a f) Source # | |
| (Semigroup a, Applicative f) => Applicative (WedgeT a f) Source # | |
Defined in Control.Monad.Trans.Wedge | |