on master help sign in
add instance for ResourceT
commite0993f268bee37949d3cf639a7d0a8a9271faea5 authorMichael Xavier <michael@michaelxavier.net> dateMon 16 Mar 2015, 14:44 (12 years ago) parentf011d4f
3 files changed+17−10
katip/katip.cabal+1 katip/src/Katip/Core.hs+14−10 katip/src/Katip/Monadic.hs+2
katip/katip.cabal+1
@@ -50,6 +50,7 @@ library
5050 , monad-control >= 1.0 && < 1.1
5151 , mtl
5252 , transformers-base
53+ , resourcet
5354
5455 hs-source-dirs: src
5556 default-language: Haskell2010
katip/src/Katip/Core.hs+14−10
@@ -22,24 +22,25 @@ import Control.Monad.Trans.Class
2222import Control.Monad.Trans.Either
2323import Control.Monad.Trans.Maybe
2424import Control.Monad.Trans.Reader
25+import Control.Monad.Trans.Resource
2526import Control.Monad.Trans.State
2627import Control.Monad.Trans.Writer
27−import Data.Aeson (ToJSON (..))
28−import qualified Data.Aeson as A
29−import Data.Foldable (foldMap)
30−import qualified Data.HashMap.Strict as HM
28+import Data.Aeson (ToJSON (..))
29+import qualified Data.Aeson as A
30+import Data.Foldable (foldMap)
31+import qualified Data.HashMap.Strict as HM
3132import Data.List
32−import qualified Data.Map.Strict as M
33+import qualified Data.Map.Strict as M
3334import Data.Monoid
3435import Data.String
3536import Data.String.Conv
36−import Data.Text (Text)
37−import qualified Data.Text as T
38−import qualified Data.Text.Lazy.Builder as B
37+import Data.Text (Text)
38+import qualified Data.Text as T
39+import qualified Data.Text.Lazy.Builder as B
3940import Data.Time
40−import GHC.Generics hiding (to)
41+import GHC.Generics hiding (to)
4142import Language.Haskell.TH
42−import qualified Language.Haskell.TH.Syntax as TH
43+import qualified Language.Haskell.TH.Syntax as TH
4344import Network.HostName
4445import System.Posix
4546-------------------------------------------------------------------------------
@@ -337,6 +338,9 @@ instance Katip m => Katip (StateT s m) where
337338instance (Katip m, Monoid s) => Katip (WriterT s m) where
338339 getLogEnv = lift getLogEnv
339340
341+instance (Katip m) => Katip (ResourceT m) where
342+ getLogEnv = lift getLogEnv
343+
340344
341345-------------------------------------------------------------------------------
342346-- | 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)
5454import Control.Monad.Trans.List (ListT)
5555import Control.Monad.Trans.Maybe (MaybeT)
5656import Control.Monad.Trans.Reader (ReaderT (..), runReaderT)
57+import Control.Monad.Trans.Resource (ResourceT)
5758import Control.Monad.Trans.RWS (RWST)
5859import qualified Control.Monad.Trans.RWS.Strict as Strict (RWST)
5960import Control.Monad.Trans.State (StateT)
@@ -126,6 +127,7 @@ TRANS(MaybeT)
126127TRANS(EitherT e)
127128TRANS(ListT)
128129TRANS(ReaderT r)
130+TRANS(ResourceT)
129131TRANS(Strict.StateT s)
130132TRANS(StateT s)
131133TRANS_CTX(Error e, ErrorT e)