packages feed

monads-fd 0.0.0.0 → 0.0.0.1

raw patch · 7 files changed

+66/−4 lines, 7 filesdep ~transformersPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependency ranges changed: transformers

API changes (from Hackage documentation)

+ Control.Monad.Cont.Class: instance (MonadCont m) => MonadCont (IdentityT m)
+ Control.Monad.Cont.Class: instance (MonadCont m) => MonadCont (MaybeT m)
+ Control.Monad.Error.Class: instance (MonadError e m) => MonadError e (IdentityT m)
+ Control.Monad.Error.Class: instance (MonadError e m) => MonadError e (MaybeT m)
+ Control.Monad.Error.Class: noMsg :: (Error a) => a
+ Control.Monad.Error.Class: strMsg :: (Error a) => String -> a
+ Control.Monad.RWS.Class: instance (MonadRWS r w s m) => MonadRWS r w s (IdentityT m)
+ Control.Monad.RWS.Class: instance (MonadRWS r w s m) => MonadRWS r w s (MaybeT m)
+ Control.Monad.Reader.Class: instance (MonadReader r m) => MonadReader r (IdentityT m)
+ Control.Monad.Reader.Class: instance (MonadReader r m) => MonadReader r (MaybeT m)
+ Control.Monad.State.Class: instance (MonadState s m) => MonadState s (IdentityT m)
+ Control.Monad.State.Class: instance (MonadState s m) => MonadState s (MaybeT m)
+ Control.Monad.Writer.Class: instance (MonadWriter w m) => MonadWriter w (IdentityT m)
+ Control.Monad.Writer.Class: instance (MonadWriter w m) => MonadWriter w (MaybeT m)

Files

Control/Monad/Cont/Class.hs view
@@ -55,7 +55,9 @@ import Control.Monad.Trans.Cont (ContT) import qualified Control.Monad.Trans.Cont as ContT import Control.Monad.Trans.Error as Error+import Control.Monad.Trans.Identity as Identity import Control.Monad.Trans.List as List+import Control.Monad.Trans.Maybe as Maybe import Control.Monad.Trans.Reader as Reader import Control.Monad.Trans.RWS.Lazy as LazyRWS import Control.Monad.Trans.RWS.Strict as StrictRWS@@ -97,8 +99,14 @@ instance (Error e, MonadCont m) => MonadCont (ErrorT e m) where     callCC = Error.liftCallCC callCC +instance (MonadCont m) => MonadCont (IdentityT m) where+    callCC = Identity.liftCallCC callCC+ instance (MonadCont m) => MonadCont (ListT m) where     callCC = List.liftCallCC callCC++instance (MonadCont m) => MonadCont (MaybeT m) where+    callCC = Maybe.liftCallCC callCC  instance (MonadCont m) => MonadCont (ReaderT r m) where     callCC = Reader.liftCallCC callCC
Control/Monad/Error/Class.hs view
@@ -34,13 +34,15 @@     Andy Gill (<http://web.cecs.pdx.edu/~andy/>) -} module Control.Monad.Error.Class (-    Error,+    Error(..),     MonadError(..),   ) where -import Control.Monad.Trans.Error (Error, ErrorT)+import Control.Monad.Trans.Error (Error(..), ErrorT) import qualified Control.Monad.Trans.Error as ErrorT (throwError, catchError)+import Control.Monad.Trans.Identity as Identity import Control.Monad.Trans.List as List+import Control.Monad.Trans.Maybe as Maybe import Control.Monad.Trans.Reader as Reader import Control.Monad.Trans.RWS.Lazy as LazyRWS import Control.Monad.Trans.RWS.Strict as StrictRWS@@ -105,9 +107,17 @@ -- --------------------------------------------------------------------------- -- Instances for other mtl transformers +instance (MonadError e m) => MonadError e (IdentityT m) where+    throwError = lift . throwError+    catchError = Identity.liftCatch catchError+ instance (MonadError e m) => MonadError e (ListT m) where     throwError = lift . throwError     catchError = List.liftCatch catchError++instance (MonadError e m) => MonadError e (MaybeT m) where+    throwError = lift . throwError+    catchError = Maybe.liftCatch catchError  instance (MonadError e m) => MonadError e (ReaderT r m) where     throwError = lift . throwError
Control/Monad/RWS/Class.hs view
@@ -33,6 +33,8 @@ import Control.Monad.Writer.Class  import Control.Monad.Trans.Error(Error, ErrorT)+import Control.Monad.Trans.Maybe(MaybeT)+import Control.Monad.Trans.Identity(IdentityT) import Control.Monad.Trans.RWS.Lazy as Lazy (RWST) import qualified Control.Monad.Trans.RWS.Strict as Strict (RWST) @@ -51,3 +53,11 @@ -- This instance needs UndecidableInstances, because -- it does not satisfy the coverage condition instance (Error e, MonadRWS r w s m) => MonadRWS r w s (ErrorT e m)+ +-- This instance needs UndecidableInstances, because+-- it does not satisfy the coverage condition+instance (MonadRWS r w s m) => MonadRWS r w s (IdentityT m)+ +-- This instance needs UndecidableInstances, because+-- it does not satisfy the coverage condition+instance (MonadRWS r w s m) => MonadRWS r w s (MaybeT m)
Control/Monad/Reader/Class.hs view
@@ -45,7 +45,9 @@  import Control.Monad.Trans.Cont as Cont import Control.Monad.Trans.Error+import Control.Monad.Trans.Identity import Control.Monad.Trans.List+import Control.Monad.Trans.Maybe import Control.Monad.Trans.Reader (ReaderT) import qualified Control.Monad.Trans.Reader as ReaderT (ask, local) import qualified Control.Monad.Trans.RWS.Lazy as LazyRWS (RWST, ask, local)@@ -116,9 +118,19 @@     local = mapErrorT . local  -- Needs UndecidableInstances+instance (MonadReader r m) => MonadReader r (IdentityT m) where+    ask   = lift ask+    local = mapIdentityT . local++-- Needs UndecidableInstances instance (MonadReader r m) => MonadReader r (ListT m) where     ask   = lift ask     local = mapListT . local++-- Needs UndecidableInstances+instance (MonadReader r m) => MonadReader r (MaybeT m) where+    ask   = lift ask+    local = mapMaybeT . local  -- Needs UndecidableInstances instance (MonadReader r m) => MonadReader r (Lazy.StateT s m) where
Control/Monad/State/Class.hs view
@@ -31,7 +31,9 @@ import Control.Monad.Trans (lift) import Control.Monad.Trans.Cont import Control.Monad.Trans.Error+import Control.Monad.Trans.Identity import Control.Monad.Trans.List+import Control.Monad.Trans.Maybe import Control.Monad.Trans.Reader import qualified Control.Monad.Trans.RWS.Lazy as LazyRWS (RWST, get, put) import qualified Control.Monad.Trans.RWS.Strict as StrictRWS (RWST, get, put)@@ -105,7 +107,15 @@     get = lift get     put = lift . put +instance (MonadState s m) => MonadState s (IdentityT m) where+    get = lift get+    put = lift . put+ instance (MonadState s m) => MonadState s (ListT m) where+    get = lift get+    put = lift . put++instance (MonadState s m) => MonadState s (MaybeT m) where     get = lift get     put = lift . put 
Control/Monad/Writer/Class.hs view
@@ -29,6 +29,8 @@  import Control.Monad import Control.Monad.Trans.Error as Error+import Control.Monad.Trans.Identity as Identity+import Control.Monad.Trans.Maybe as Maybe import Control.Monad.Trans.Reader import qualified Control.Monad.Trans.RWS.Lazy as LazyRWS (         RWST, tell, listen, pass)@@ -99,6 +101,16 @@     tell   = lift . tell     listen = Error.liftListen listen     pass   = Error.liftPass pass++instance (MonadWriter w m) => MonadWriter w (IdentityT m) where+    tell   = lift . tell+    listen = Identity.mapIdentityT listen+    pass   = Identity.mapIdentityT pass++instance (MonadWriter w m) => MonadWriter w (MaybeT m) where+    tell   = lift . tell+    listen = Maybe.liftListen listen+    pass   = Maybe.liftPass pass  instance (MonadWriter w m) => MonadWriter w (ReaderT r m) where     tell   = lift . tell
monads-fd.cabal view
@@ -1,5 +1,5 @@ name:         monads-fd-version:      0.0.0.0+version:      0.0.0.1 license:      BSD3 license-file: LICENSE author:       Andy Gill@@ -36,7 +36,7 @@     Control.Monad.Writer.Class     Control.Monad.Writer.Lazy     Control.Monad.Writer.Strict-build-depends: base, transformers+build-depends: base, transformers >= 0.1.4.0 extensions:     MultiParamTypeClasses     FunctionalDependencies