monadloc 0.4 → 0.5
raw patch · 3 files changed
+51/−46 lines, 3 filesdep ~haskell-src-exts
Dependency ranges changed: haskell-src-exts
Files
- Control/Monad/Loc/MTL.hs +42/−0
- Control/Monad/Loc/Mtl.hs +0/−42
- monadloc.cabal +9/−4
+ Control/Monad/Loc/MTL.hs view
@@ -0,0 +1,42 @@+{-# LANGUAGE OverlappingInstances #-}+module Control.Monad.Loc.MTL where++import Control.Monad.Loc++import Control.Monad.Error+import Control.Monad.List+import Control.Monad.Reader+import Control.Monad.State.Lazy as Lazy+import Control.Monad.State.Strict as Strict+import Control.Monad.Writer.Lazy as Lazy+import Control.Monad.Writer.Strict as Strict+import Control.Monad.RWS.Lazy as Lazy+import Control.Monad.RWS.Strict as Strict+import Data.Monoid++instance MonadLoc m => MonadLoc (ListT m) where+ withLoc l = ListT . withLoc l . runListT++instance (Error e, MonadLoc m) => MonadLoc (ErrorT e m) where+ withLoc l = ErrorT . withLoc l . runErrorT++instance MonadLoc m => MonadLoc (ReaderT r m) where+ withLoc l m = ReaderT $ \r -> withLoc l $ runReaderT m r++instance (Monoid w, MonadLoc m) => MonadLoc (Lazy.WriterT w m) where+ withLoc l = Lazy.WriterT . withLoc l . Lazy.runWriterT++instance MonadLoc m => MonadLoc (Lazy.StateT s m) where+ withLoc l m = Lazy.StateT $ \s -> withLoc l $ Lazy.runStateT m s++instance (Monoid w, MonadLoc m) => MonadLoc (Lazy.RWST r w s m) where+ withLoc l m = Lazy.RWST $ \r s -> withLoc l $ Lazy.runRWST m r s++instance (Monoid w, MonadLoc m) => MonadLoc (Strict.WriterT w m) where+ withLoc l = Strict.WriterT . withLoc l . Strict.runWriterT++instance MonadLoc m => MonadLoc (Strict.StateT s m) where+ withLoc l m = Strict.StateT $ \s -> withLoc l $ Strict.runStateT m s++instance (Monoid w, MonadLoc m) => MonadLoc (Strict.RWST r w s m) where+ withLoc l m = Strict.RWST $ \r s -> withLoc l $ Strict.runRWST m r s
− Control/Monad/Loc/Mtl.hs
@@ -1,42 +0,0 @@-{-# LANGUAGE OverlappingInstances #-}-module Control.Monad.Loc.Mtl where--import Control.Monad.Loc--import Control.Monad.Error-import Control.Monad.List-import Control.Monad.Reader-import Control.Monad.State.Lazy as Lazy-import Control.Monad.State.Strict as Strict-import Control.Monad.Writer.Lazy as Lazy-import Control.Monad.Writer.Strict as Strict-import Control.Monad.RWS.Lazy as Lazy-import Control.Monad.RWS.Strict as Strict-import Data.Monoid--instance MonadLoc m => MonadLoc (ListT m) where- withLoc l = ListT . withLoc l . runListT--instance (Error e, MonadLoc m) => MonadLoc (ErrorT e m) where- withLoc l = ErrorT . withLoc l . runErrorT--instance MonadLoc m => MonadLoc (ReaderT r m) where- withLoc l m = ReaderT $ \r -> withLoc l $ runReaderT m r--instance (Monoid w, MonadLoc m) => MonadLoc (Lazy.WriterT w m) where- withLoc l = Lazy.WriterT . withLoc l . Lazy.runWriterT--instance MonadLoc m => MonadLoc (Lazy.StateT s m) where- withLoc l m = Lazy.StateT $ \s -> withLoc l $ Lazy.runStateT m s--instance (Monoid w, MonadLoc m) => MonadLoc (Lazy.RWST r w s m) where- withLoc l m = Lazy.RWST $ \r s -> withLoc l $ Lazy.runRWST m r s--instance (Monoid w, MonadLoc m) => MonadLoc (Strict.WriterT w m) where- withLoc l = Strict.WriterT . withLoc l . Strict.runWriterT--instance MonadLoc m => MonadLoc (Strict.StateT s m) where- withLoc l m = Strict.StateT $ \s -> withLoc l $ Strict.runStateT m s--instance (Monoid w, MonadLoc m) => MonadLoc (Strict.RWST r w s m) where- withLoc l m = Strict.RWST $ \r s -> withLoc l $ Strict.runRWST m r s
monadloc.cabal view
@@ -1,6 +1,6 @@ name: monadloc-version: 0.4-Cabal-Version: >= 1.2.3+version: 0.5+Cabal-Version: >= 1.6 build-type: Simple license: PublicDomain author: Pepe Iborra@@ -43,7 +43,7 @@ if flag(mtl) cpp-options: -DMTL build-depends: mtl- exposed-modules: Control.Monad.Loc.Mtl+ exposed-modules: Control.Monad.Loc.MTL if flag(transformers) cpp-options: -DTRANSFORMERS@@ -57,6 +57,11 @@ Executable MonadLoc buildable: True- build-depends: haskell-src-exts+ build-depends: haskell-src-exts >= 1.3.0 main-is: MonadLoc.hs ghc-options: -Wall -fno-warn-name-shadowing+++source-repository head+ type: git+ location: git://github.com/pepeiborra/monadloc.git