@@ -1,23 +0,0 @@
1−{- |
2−Module : Control.SemiIso.Trans
3−Description : SemiIsoMonad transformers.
4−Copyright : (c) Paweł Nowak
5−License : MIT
6−
7−Maintainer : Paweł Nowak <pawel834@gmail.com>
8−Stability : experimental
9−
10−Monad transformers for the SemiIso hierarchy.
11−-}
12−module Control.SemiIso.Trans where
13−
14−import Data.SemiIsoFunctor
15−
16−-- | Monad transformer. Should satisfy laws:
17−--
18−-- prop> silift . sipure = sipure
19−--
20−-- prop> silift (m //= f) = silift m //= (silift . f)
21−class SIMonadTrans t where
22− -- | Lifts a computation from the base monad.
23− silift :: SemiIsoMonad m => m a -> t m a