Description
Typeclass for monads that can be unlifted to arbitrary base monads.
Description
Typeclass for monads that can be unlifted to arbitrary base monads. See README.md for more details.
README.md
unlift
Typeclass for monads that can be unlifted to arbitrary base monads:
class (MonadBase b m) => MonadUnlift b m
where
withRunInBase :: ((forall a . m a -> b a) -> b x) -> m x
This typeclass is helpful when writing code that is polymorphic over the base monad, so later you can select a different base monad for each specific use-case.
Common usages include: