polysemy-log-co 0.4.3.0 → 0.5.0.0
raw patch · 8 files changed
+29/−51 lines, 8 filesdep +incipit-coredep +stmdep −co-log-coredep ~polysemy-concdep ~polysemy-timesetup-changedPVP ok
version bump matches the API change (PVP)
Dependencies added: incipit-core, stm
Dependencies removed: co-log-core
Dependency ranges changed: polysemy-conc, polysemy-time
API changes (from Hackage documentation)
Files
- Setup.hs +2/−0
- lib/Polysemy/Log/Colog/Atomic.hs +3/−4
- lib/Polysemy/Log/Colog/Colog.hs +6/−8
- lib/Polysemy/Log/Colog/Conc.hs +2/−3
- polysemy-log-co.cabal +8/−14
- readme.md +5/−19
- test/Polysemy/Log/Colog/Test/ConcTest.hs +3/−2
- test/Polysemy/Log/Colog/Test/ExampleTest.hs +0/−1
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
lib/Polysemy/Log/Colog/Atomic.hs view
@@ -2,8 +2,7 @@ module Polysemy.Log.Colog.Atomic where import qualified Colog.Polysemy as Colog--import Polysemy.Internal (InterpretersFor)+import Control.Concurrent.STM (newTVarIO) -- |Interpret 'Colog.Log' by prepending each message to a list in an 'AtomicState'. interpretCologAtomic' ::@@ -16,12 +15,12 @@ {-# inline interpretCologAtomic' #-} -- |Interpret 'Colog.Log' by prepending each message to a list in an 'AtomicState', then interpret the 'AtomicState' in--- a 'TVar'.+-- a 'Control.Concurrent.STM.TVar'. interpretCologAtomic :: ∀ a r . Member (Embed IO) r => InterpretersFor [Colog.Log a, AtomicState [a]] r interpretCologAtomic sem = do- tv <- newTVarIO []+ tv <- embed (newTVarIO []) runAtomicStateTVar tv (interpretCologAtomic' sem) {-# inline interpretCologAtomic #-}
lib/Polysemy/Log/Colog/Colog.hs view
@@ -1,22 +1,20 @@--- |Description: Interpreters+-- |Description: Interpreters for 'Log' and 'DataLog' using a co-log backend. module Polysemy.Log.Colog.Colog where -import qualified Colog (Message, Msg(Msg), Severity(..), logTextStdout, richMessageAction)+import qualified Colog (Message, Msg (Msg), Severity (..), logTextStdout, richMessageAction) import qualified Colog.Polysemy as Colog import Colog.Polysemy (runLogAction)-import Polysemy (interpretH, runT)-import Polysemy.Async (Async)+import Control.Monad.IO.Class (MonadIO) import Polysemy.Conc (Race)-import Polysemy.Internal (InterpretersFor) import Polysemy.Internal.Tactics (liftT)-import Polysemy.Resource (Resource) import Polysemy.Time (GhcTime, interpretTimeGhc)+import Prelude hiding (Local) import Polysemy.Log.Conc (interceptDataLogConc)-import Polysemy.Log.Data.DataLog (DataLog(DataLog, Local))+import Polysemy.Log.Data.DataLog (DataLog (DataLog, Local)) import Polysemy.Log.Data.Log (Log) import Polysemy.Log.Data.LogEntry (LogEntry (LogEntry))-import Polysemy.Log.Data.LogMessage (LogMessage(..))+import Polysemy.Log.Data.LogMessage (LogMessage (..)) import qualified Polysemy.Log.Data.Severity as Severity import Polysemy.Log.Data.Severity (Severity) import Polysemy.Log.Format (formatLogEntry)
lib/Polysemy/Log/Colog/Conc.hs view
@@ -6,7 +6,6 @@ import Colog.Concurrent.Internal (Capacity) import qualified Colog.Polysemy as Colog import Colog.Polysemy (runLogAction)-import Polysemy.Resource (Resource, bracket) import Polysemy.Log.Data.LogEntry (LogEntry) import Polysemy.Log.Data.LogMessage (LogMessage)@@ -20,9 +19,9 @@ LogAction IO msg -> InterpreterFor (Colog.Log msg) r interpretCologConcNativeWith capacity action sem = do- bracket (embed (forkBackgroundLogger capacity action)) (embed . killBackgroundLogger) run+ bracket (embed (forkBackgroundLogger capacity action)) (embed . killBackgroundLogger) use where- run worker =+ use worker = runLogAction (convertToLogAction @IO worker) sem {-# inline interpretCologConcNativeWith #-}
polysemy-log-co.cabal view
@@ -1,11 +1,11 @@ cabal-version: 2.2 --- This file has been generated from package.yaml by hpack version 0.34.4.+-- This file has been generated from package.yaml by hpack version 0.34.6. -- -- see: https://github.com/sol/hpack name: polysemy-log-co-version: 0.4.3.0+version: 0.5.0.0 synopsis: Colog Adapters for Polysemy-Log description: See <https://hackage.haskell.org/package/polysemy-log-co/docs/Polysemy-Log-Colog.html> category: Logging@@ -31,10 +31,6 @@ Polysemy.Log.Colog.Atomic Polysemy.Log.Colog.Colog Polysemy.Log.Colog.Conc- other-modules:- Paths_polysemy_log_co- autogen-modules:- Paths_polysemy_log_co hs-source-dirs: lib default-extensions:@@ -99,16 +95,15 @@ build-depends: base ==4.* , co-log >=0.4.0.1- , co-log-core >=0.2.1 , co-log-polysemy >=0.0.1.2+ , incipit-core >=0.1.0.1 , polysemy >=1.5- , polysemy-conc >=0.1.0.0+ , polysemy-conc >=0.6 , polysemy-log- , polysemy-time >=0.1.1.0+ , polysemy-time >=0.3+ , stm mixins: base hiding (Prelude)- , polysemy-log hiding (Polysemy.Log.Prelude)- , polysemy-log (Polysemy.Log.Prelude as Prelude) default-language: Haskell2010 test-suite polysemy-log-co-unit@@ -118,7 +113,6 @@ Polysemy.Log.Colog.Test.ConcTest Polysemy.Log.Colog.Test.ExampleTest Polysemy.Log.Colog.Test.SimpleTest- Paths_polysemy_log_co hs-source-dirs: test default-extensions:@@ -184,14 +178,14 @@ base ==4.* , co-log , co-log-polysemy+ , incipit-core >=0.1.0.1 , polysemy >=1.5 , polysemy-log , polysemy-log-co , polysemy-test , polysemy-time+ , stm , tasty mixins: base hiding (Prelude)- , polysemy-log hiding (Polysemy.Log.Prelude)- , polysemy-log (Polysemy.Log.Prelude as Prelude) default-language: Haskell2010
readme.md view
@@ -1,21 +1,7 @@-# About--The *co-log* adapter for [polysemy-log](https://hackage.haskell.org/package/polysemy-log).--```haskell-import Polysemy.Log-import Polysemy.Log.Colog--prog :: Member Log r => Sem r ()-prog = do- Log.debug "debugging"- Log.error "failing"+Interpreters for [polysemy-log] using the [co-log] backend. -interpretLogColog prog :: Sem [Colog.Log (LogEntry LogMessage), Embed IO] ()-interpretLogStdout prog :: Sem '[Embed IO] ()-```+For docs, please visit [Hackage]. -For more documentation, please consult Hackage:-* [polysemy-log](https://hackage.haskell.org/package/polysemy-log)-* [polysemy-log-co](https://hackage.haskell.org/package/polysemy-log-co)-* [polysemy-log-di](https://hackage.haskell.org/package/polysemy-log-di)+[polysemy-log](https://hackage.haskell.org/package/polysemy-log)+[co-log](https://hackage.haskell.org/package/co-log-polysemy)+[Hackage](https://hackage.haskell.org/package/polysemy-log-co)
test/Polysemy/Log/Colog/Test/ConcTest.hs view
@@ -11,6 +11,7 @@ import Polysemy.Log.Data.LogEntry (LogEntry) import Polysemy.Log.Data.LogMessage (LogMessage(LogMessage)) import qualified Polysemy.Log.Data.Severity as Severity+import Control.Concurrent.STM (newTVarIO, atomically, modifyTVar', readTVarIO) prog :: Member Log r =>@@ -26,8 +27,8 @@ test_concColog :: UnitTest test_concColog = runTestAuto do- tv <- newTVarIO []+ tv <- embed (newTVarIO []) let action msg = atomically (modifyTVar' tv (msg :)) interpretCologConcNativeWith @(LogEntry LogMessage) defCapacity (LogAction action) (interpretLogColog' prog)- msgs <- readTVarIO tv+ msgs <- embed (readTVarIO tv) assertEq @_ @IO target (LogEntry.message <$> msgs)
test/Polysemy/Log/Colog/Test/ExampleTest.hs view
@@ -2,7 +2,6 @@ import Colog (logTextStdout) import Colog.Polysemy (runLogAction)-import Polysemy (runM) import Polysemy.Log.Colog (interpretDataLogColog, interpretLogStdout) import qualified Polysemy.Log.Data.DataLog as DataLog