packages feed

polysemy-log 0.7.1.0 → 0.7.2.0

raw patch · 4 files changed

+108/−10 lines, 4 filesdep ~polysemydep ~polysemy-concPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: polysemy, polysemy-conc

API changes (from Hackage documentation)

Files

+ benchmark/Main.hs view
@@ -0,0 +1,12 @@+module Main where++import Polysemy.Conc (runConc)+import Polysemy.Log.Data.Severity (Severity (Error))+import qualified Polysemy.Log.Effect.Log as Log+import Polysemy.Log.Stdout (interpretLogStdoutLevelConc)++main :: IO ()+main =+  runConc $ interpretLogStdoutLevelConc (Just Error) do+    for_ @[] [1..50000] \ (i :: Int) ->+      Log.warn ("line " <> show i)
changelog.md view
@@ -1,5 +1,7 @@ # Unreleased +# 0.7.1.0+ * Add parser for `Severity`. * Export `interpretDataLog`. * Export `local`.
lib/Polysemy/Log/Conc.hs view
@@ -5,7 +5,6 @@ import qualified Polysemy.Conc as Conc import Polysemy.Conc (Queue, Race, interpretQueueTBM) import qualified Polysemy.Conc.Queue as Queue-import Polysemy.Conc.Queue.Result (resultToMaybe) import Polysemy.Internal.Tactics (liftT) import Polysemy.Time (Seconds (Seconds)) @@ -40,20 +39,20 @@ {-# inline interceptDataLogConcWith #-}  -- |Part of 'interceptDataLogConc'.--- Loop as long as the proided queue is open and relay all dequeued messages to the ultimate interpreter, thereby+-- Loop as long as the provided queue is open and relay all dequeued messages to the ultimate interpreter, thereby -- forcing the logging implementation to work in this thread. loggerThread ::   ∀ msg r .   Members [Queue msg, DataLog msg] r =>   Sem r ()-loggerThread = do+loggerThread =   spin   where     spin = do-      next <- Queue.read-      for_ (resultToMaybe next) \ msg -> do+      next <- Queue.readMaybe+      for_ next \ msg -> do         DataLog.dataLog @msg msg-        spin+      when (isJust next) spin  -- |Close the concurrent logger's queue and wait for one second to allow it to process any messages that have been -- queued.
polysemy-log.cabal view
@@ -1,11 +1,11 @@ cabal-version: 2.2 --- This file has been generated from package.yaml by hpack version 0.34.6.+-- This file has been generated from package.yaml by hpack version 0.34.7. -- -- see: https://github.com/sol/hpack  name:           polysemy-log-version:        0.7.1.0+version:        0.7.2.0 synopsis:       Polysemy effects for logging description:    See https://hackage.haskell.org/package/polysemy-log/docs/Polysemy-Log.html category:       Logging@@ -66,6 +66,7 @@       DisambiguateRecordFields       DoAndIfThenElse       DuplicateRecordFields+      EmptyCase       EmptyDataDecls       ExistentialQuantification       FlexibleContexts@@ -80,8 +81,9 @@       MultiParamTypeClasses       MultiWayIf       NamedFieldPuns-      OverloadedStrings+      OverloadedLabels       OverloadedLists+      OverloadedStrings       PackageImports       PartialTypeSignatures       PatternGuards@@ -155,6 +157,7 @@       DisambiguateRecordFields       DoAndIfThenElse       DuplicateRecordFields+      EmptyCase       EmptyDataDecls       ExistentialQuantification       FlexibleContexts@@ -169,8 +172,9 @@       MultiParamTypeClasses       MultiWayIf       NamedFieldPuns-      OverloadedStrings+      OverloadedLabels       OverloadedLists+      OverloadedStrings       PackageImports       PartialTypeSignatures       PatternGuards@@ -206,6 +210,87 @@     , polysemy-time     , tasty     , time+  mixins:+      base hiding (Prelude)+    , incipit-core (IncipitCore as Prelude)+    , incipit-core hiding (IncipitCore)+  default-language: Haskell2010++benchmark space+  type: exitcode-stdio-1.0+  main-is: Main.hs+  hs-source-dirs:+      benchmark+  default-extensions:+      AllowAmbiguousTypes+      ApplicativeDo+      BangPatterns+      BinaryLiterals+      BlockArguments+      ConstraintKinds+      DataKinds+      DefaultSignatures+      DeriveAnyClass+      DeriveDataTypeable+      DeriveFoldable+      DeriveFunctor+      DeriveGeneric+      DeriveLift+      DeriveTraversable+      DerivingStrategies+      DerivingVia+      DisambiguateRecordFields+      DoAndIfThenElse+      DuplicateRecordFields+      EmptyCase+      EmptyDataDecls+      ExistentialQuantification+      FlexibleContexts+      FlexibleInstances+      FunctionalDependencies+      GADTs+      GeneralizedNewtypeDeriving+      InstanceSigs+      KindSignatures+      LambdaCase+      LiberalTypeSynonyms+      MultiParamTypeClasses+      MultiWayIf+      NamedFieldPuns+      OverloadedLabels+      OverloadedLists+      OverloadedStrings+      PackageImports+      PartialTypeSignatures+      PatternGuards+      PatternSynonyms+      PolyKinds+      QuantifiedConstraints+      QuasiQuotes+      RankNTypes+      RecordWildCards+      RecursiveDo+      RoleAnnotations+      ScopedTypeVariables+      StandaloneDeriving+      TemplateHaskell+      TupleSections+      TypeApplications+      TypeFamilies+      TypeFamilyDependencies+      TypeOperators+      TypeSynonymInstances+      UndecidableInstances+      UnicodeSyntax+      ViewPatterns+  ghc-options: -Wall -Wredundant-constraints -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Widentities -Wunused-packages -threaded -rtsopts -with-rtsopts=-N+  build-depends:+      base >=4.12 && <5+    , incipit-core >=0.3+    , polysemy+    , polysemy-conc+    , polysemy-log+    , polysemy-plugin   mixins:       base hiding (Prelude)     , incipit-core (IncipitCore as Prelude)