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 |
This module contains utilities for the monad transformer for the smash product.
Monad transformer
A monad transformer for the smash product, parameterized by:
a
- the value on the leftb
- the value on the rightm
- The monad over a pointed product (see:Smash
).
Instances
(Monoid t, MonadRWS r w s m) => MonadRWS r w s (SmashT t m) Source # | |
Defined in Control.Monad.Trans.Smash | |
(Monoid a, MonadWriter w m) => MonadWriter w (SmashT a m) Source # | |
(Monoid t, MonadState s m) => MonadState s (SmashT t m) Source # | |
(Monoid a, MonadReader r m) => MonadReader r (SmashT a m) Source # | |
Monoid a => MonadTrans (SmashT a) Source # | |
Defined in Control.Monad.Trans.Smash | |
(Monoid a, Monad m) => Monad (SmashT a m) Source # | |
Functor f => Functor (SmashT a f) Source # | |
(Monoid a, Applicative f) => Applicative (SmashT a f) Source # | |
Defined in Control.Monad.Trans.Smash |