packages feed

transformers-base 0.2 → 0.3

raw patch · 3 files changed

+34/−34 lines, 3 filesdep ~transformers

Dependency ranges changed: transformers

Files

src/Control/Monad/Base.hs view
@@ -28,7 +28,7 @@ import Control.Monad.Trans.Cont  class (Applicative μ, Monad μ,-       Applicative η, Monad η) ⇒ MonadBase μ η | μ → η where+       Applicative η, Monad η) ⇒ MonadBase η μ | μ → η where   -- | Lift a computation from the base monad   liftBase ∷ η α → μ α @@ -40,28 +40,28 @@ instance MonadBase (L.ST s) (L.ST s)     where liftBase = id instance MonadBase (S.ST s) (S.ST s)     where liftBase = id -instance MonadBase μ η ⇒ MonadBase (IdentityT μ) η where+instance MonadBase η μ ⇒ MonadBase η (IdentityT μ) where   liftBase = lift . liftBase-instance MonadBase μ η ⇒ MonadBase (MaybeT μ) η where+instance MonadBase η μ ⇒ MonadBase η (MaybeT μ) where   liftBase = lift . liftBase-instance MonadBase μ η ⇒ MonadBase (ListT μ) η where+instance MonadBase η μ ⇒ MonadBase η (ListT μ) where   liftBase = lift . liftBase-instance MonadBase μ η ⇒ MonadBase (ReaderT r μ) η where+instance MonadBase η μ ⇒ MonadBase η (ReaderT r μ) where   liftBase = lift . liftBase-instance (Monoid w, MonadBase μ η) ⇒ MonadBase (L.WriterT w μ) η where+instance (Monoid w, MonadBase η μ) ⇒ MonadBase η (L.WriterT w μ) where   liftBase = lift . liftBase-instance (Monoid w, MonadBase μ η) ⇒ MonadBase (S.WriterT w μ) η where+instance (Monoid w, MonadBase η μ) ⇒ MonadBase η (S.WriterT w μ) where   liftBase = lift . liftBase-instance MonadBase μ η ⇒ MonadBase (L.StateT s μ) η where+instance MonadBase η μ ⇒ MonadBase η (L.StateT s μ) where   liftBase = lift . liftBase-instance MonadBase μ η ⇒ MonadBase (S.StateT s μ) η where+instance MonadBase η μ ⇒ MonadBase η (S.StateT s μ) where   liftBase = lift . liftBase-instance (Monoid w, MonadBase μ η) ⇒ MonadBase (L.RWST r w s μ) η where+instance (Monoid w, MonadBase η μ) ⇒ MonadBase η (L.RWST r w s μ) where   liftBase = lift . liftBase-instance (Monoid w, MonadBase μ η) ⇒ MonadBase (S.RWST r w s μ) η where+instance (Monoid w, MonadBase η μ) ⇒ MonadBase η (S.RWST r w s μ) where   liftBase = lift . liftBase-instance (Error e, MonadBase μ η) ⇒ MonadBase (ErrorT e μ) η where+instance (Error e, MonadBase η μ) ⇒ MonadBase η (ErrorT e μ) where   liftBase = lift . liftBase-instance MonadBase μ η ⇒ MonadBase (ContT r μ) η where+instance MonadBase η μ ⇒ MonadBase η (ContT r μ) where   liftBase = lift . liftBase 
src/Control/Monad/Base/Control.hs view
@@ -28,60 +28,60 @@ import qualified Control.Monad.Trans.RWS.Strict as S import Control.Monad.Trans.Control -class MonadBase μ η ⇒ MonadBaseControl μ η | μ → η where+class MonadBase η μ ⇒ MonadBaseControl η μ | μ → η where   -- | Helper for lifting control operations from the base monad.   liftBaseControl ∷ (RunInBase μ η → η α) → μ α  instance MonadBaseControl IO IO where   liftBaseControl = idLiftControl -instance MonadBaseControl μ η ⇒ MonadBaseControl (IdentityT μ) η where+instance MonadBaseControl η μ ⇒ MonadBaseControl η (IdentityT μ) where   liftBaseControl = liftLiftControlBase liftBaseControl -instance MonadBaseControl μ η ⇒ MonadBaseControl (MaybeT μ) η where+instance MonadBaseControl η μ ⇒ MonadBaseControl η (MaybeT μ) where   liftBaseControl = liftLiftControlBase liftBaseControl -instance (Error e, MonadBaseControl μ η)-       ⇒ MonadBaseControl (ErrorT e μ) η where+instance (Error e, MonadBaseControl η μ)+       ⇒ MonadBaseControl η (ErrorT e μ) where   liftBaseControl = liftLiftControlBase liftBaseControl -instance MonadBaseControl μ η ⇒ MonadBaseControl (ListT μ) η where+instance MonadBaseControl η μ ⇒ MonadBaseControl η (ListT μ) where   liftBaseControl = liftLiftControlBase liftBaseControl -instance MonadBaseControl μ η ⇒ MonadBaseControl (ReaderT r μ) η where+instance MonadBaseControl η μ ⇒ MonadBaseControl η (ReaderT r μ) where   liftBaseControl = liftLiftControlBase liftBaseControl -instance (Monoid w, MonadBaseControl μ η)-       ⇒ MonadBaseControl (L.WriterT w μ) η where+instance (Monoid w, MonadBaseControl η μ)+       ⇒ MonadBaseControl η (L.WriterT w μ) where   liftBaseControl = liftLiftControlBase liftBaseControl -instance (Monoid w, MonadBaseControl μ η)-       ⇒ MonadBaseControl (S.WriterT w μ) η where+instance (Monoid w, MonadBaseControl η μ)+       ⇒ MonadBaseControl η (S.WriterT w μ) where   liftBaseControl = liftLiftControlBase liftBaseControl -instance MonadBaseControl μ η ⇒ MonadBaseControl (L.StateT s μ) η where+instance MonadBaseControl η μ ⇒ MonadBaseControl η (L.StateT s μ) where   liftBaseControl = liftLiftControlBase liftBaseControl -instance MonadBaseControl μ η ⇒ MonadBaseControl (S.StateT s μ) η where+instance MonadBaseControl η μ ⇒ MonadBaseControl η (S.StateT s μ) where   liftBaseControl = liftLiftControlBase liftBaseControl -instance (Monoid w, MonadBaseControl μ η)-       ⇒ MonadBaseControl (L.RWST r w s μ) η where+instance (Monoid w, MonadBaseControl η μ)+       ⇒ MonadBaseControl η (L.RWST r w s μ) where   liftBaseControl = liftLiftControlBase liftBaseControl -instance (Monoid w, MonadBaseControl μ η)-       ⇒ MonadBaseControl (S.RWST r w s μ) η where+instance (Monoid w, MonadBaseControl η μ)+       ⇒ MonadBaseControl η (S.RWST r w s μ) where   liftBaseControl = liftLiftControlBase liftBaseControl -controlBase ∷ MonadBaseControl μ η ⇒ (RunInBase μ η → η (μ α)) → μ α+controlBase ∷ MonadBaseControl η μ ⇒ (RunInBase μ η → η (μ α)) → μ α controlBase = join . liftBaseControl -liftBaseOp ∷ MonadBaseControl μ η+liftBaseOp ∷ MonadBaseControl η μ            ⇒ ((α → η (μ β)) → η (μ γ))            →  (α →    μ β ) →    μ γ liftBaseOp base m = controlBase $ \runInBase → base $ runInBase . m -liftBaseOp_ ∷ MonadBaseControl μ η+liftBaseOp_ ∷ MonadBaseControl η μ            ⇒ (η (μ β) → η (μ γ))            →     μ β  →    μ γ liftBaseOp_ base m = controlBase $ \runInBase → base $ runInBase m
transformers-base.cabal view
@@ -1,5 +1,5 @@ Name: transformers-base-Version: 0.2+Version: 0.3 Category: Control Stability: experimental Synopsis: Lift computations from the bottom of a transformer stack