on master help sign in
add instance for ResourceT
e0993f2Michael Xavier
katip/katip.cabal+1
@@ -50,6 +50,7 @@ library
50 , monad-control >= 1.0 && < 1.1
50 , monad-control >= 1.0 && < 1.1
51 , mtl
51 , mtl
52 , transformers-base
52 , transformers-base
53+ , resourcet
53
54
54 hs-source-dirs: src
55 hs-source-dirs: src
55 default-language: Haskell2010
56 default-language: Haskell2010
katip/src/Katip/Core.hs+14−10
@@ -22,24 +22,25 @@ import Control.Monad.Trans.Class
22import Control.Monad.Trans.Either
22import Control.Monad.Trans.Either
23import Control.Monad.Trans.Maybe
23import Control.Monad.Trans.Maybe
24import Control.Monad.Trans.Reader
24import Control.Monad.Trans.Reader
25+import Control.Monad.Trans.Resource
25import Control.Monad.Trans.State
26import Control.Monad.Trans.State
26import Control.Monad.Trans.Writer
27import Control.Monad.Trans.Writer
27−import Data.Aeson (ToJSON (..))
28+import Data.Aeson (ToJSON (..))
28−import qualified Data.Aeson as A
29+import qualified Data.Aeson as A
29−import Data.Foldable (foldMap)
30+import Data.Foldable (foldMap)
30−import qualified Data.HashMap.Strict as HM
31+import qualified Data.HashMap.Strict as HM
31import Data.List
32import Data.List
32−import qualified Data.Map.Strict as M
33+import qualified Data.Map.Strict as M
33import Data.Monoid
34import Data.Monoid
34import Data.String
35import Data.String
35import Data.String.Conv
36import Data.String.Conv
36−import Data.Text (Text)
37+import Data.Text (Text)
37−import qualified Data.Text as T
38+import qualified Data.Text as T
38−import qualified Data.Text.Lazy.Builder as B
39+import qualified Data.Text.Lazy.Builder as B
39import Data.Time
40import Data.Time
40−import GHC.Generics hiding (to)
41+import GHC.Generics hiding (to)
41import Language.Haskell.TH
42import Language.Haskell.TH
42−import qualified Language.Haskell.TH.Syntax as TH
43+import qualified Language.Haskell.TH.Syntax as TH
43import Network.HostName
44import Network.HostName
44import System.Posix
45import System.Posix
45-------------------------------------------------------------------------------
46-------------------------------------------------------------------------------
@@ -337,6 +338,9 @@ instance Katip m => Katip (StateT s m) where
337instance (Katip m, Monoid s) => Katip (WriterT s m) where
338instance (Katip m, Monoid s) => Katip (WriterT s m) where
338 getLogEnv = lift getLogEnv
339 getLogEnv = lift getLogEnv
339
340
341+instance (Katip m) => Katip (ResourceT m) where
342+ getLogEnv = lift getLogEnv
343+
340
344
341-------------------------------------------------------------------------------
345-------------------------------------------------------------------------------
342-- | A concrete monad you can use to run logging actions.
346-- | A concrete monad you can use to run logging actions.
katip/src/Katip/Monadic.hs+2
@@ -54,6 +54,7 @@ import Control.Monad.Trans.Identity (IdentityT)
54import Control.Monad.Trans.List (ListT)
54import Control.Monad.Trans.List (ListT)
55import Control.Monad.Trans.Maybe (MaybeT)
55import Control.Monad.Trans.Maybe (MaybeT)
56import Control.Monad.Trans.Reader (ReaderT (..), runReaderT)
56import Control.Monad.Trans.Reader (ReaderT (..), runReaderT)
57+import Control.Monad.Trans.Resource (ResourceT)
57import Control.Monad.Trans.RWS (RWST)
58import Control.Monad.Trans.RWS (RWST)
58import qualified Control.Monad.Trans.RWS.Strict as Strict (RWST)
59import qualified Control.Monad.Trans.RWS.Strict as Strict (RWST)
59import Control.Monad.Trans.State (StateT)
60import Control.Monad.Trans.State (StateT)
@@ -126,6 +127,7 @@ TRANS(MaybeT)
126TRANS(EitherT e)
127TRANS(EitherT e)
127TRANS(ListT)
128TRANS(ListT)
128TRANS(ReaderT r)
129TRANS(ReaderT r)
130+TRANS(ResourceT)
129TRANS(Strict.StateT s)
131TRANS(Strict.StateT s)
130TRANS(StateT s)
132TRANS(StateT s)
131TRANS_CTX(Error e, ErrorT e)
133TRANS_CTX(Error e, ErrorT e)