concurrent-machines 0.3.1.4 → 0.3.1.5
raw patch · 3 files changed
+12/−12 lines, 3 filesdep ~basedep ~semigroupsdep ~timePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, semigroups, time, transformers, transformers-base
API changes (from Hackage documentation)
Files
- concurrent-machines.cabal +9/−9
- src/Data/Machine/Concurrent/Scatter.hs +2/−2
- src/Data/Machine/Regulated.hs +1/−1
concurrent-machines.cabal view
@@ -1,5 +1,5 @@ name: concurrent-machines-version: 0.3.1.4+version: 0.3.1.5 synopsis: Concurrent networked stream transducers description: A simple use-case for this library is to run the stages@@ -31,7 +31,7 @@ build-type: Simple extra-source-files: README.md, CHANGELOG.md cabal-version: >=1.10-tested-with: GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.4, GHC == 9.0.1+tested-with: GHC == 8.6.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.1 source-repository head type: git@@ -56,14 +56,14 @@ ScopedTypeVariables build-depends: base >= 4.8 && < 5, monad-control >= 1.0 && < 1.1,- transformers >= 0.4 && < 0.6,- time >= 1.4 && < 1.10,+ transformers >= 0.4 && < 0.7,+ time >= 1.4 && < 1.14, containers >= 0.5 && < 0.7,- transformers-base >= 0.4 && < 0.6,+ transformers-base >= 0.4 && < 0.7, machines >= 0.5 && < 0.8, async >= 2.0.1 && < 2.3, lifted-async >= 0.1 && < 0.11,- semigroups >= 0.8 && < 0.20+ semigroups >= 0.8 && < 0.21 hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall@@ -74,7 +74,7 @@ main-is: AllTests.hs ghc-options: -Wall -threaded default-language: Haskell2010- build-depends: base >= 4.6 && < 5, concurrent-machines, machines,+ build-depends: base, concurrent-machines, machines, tasty, tasty-hunit, transformers, time -- This is a nice modification of the tests that generates plots for@@ -92,13 +92,13 @@ ghc-options: -Wall -O0 default-language: Haskell2010 if flag(splot)- build-depends: base >= 4.6 && < 5, concurrent-machines, machines,+ build-depends: base, concurrent-machines, machines, process, tasty, tasty-hunit, transformers, time benchmark fanout type: exitcode-stdio-1.0 hs-source-dirs: examples main-is: ExampleFanout.hs- build-depends: base >= 4.8 && < 5, time, machines, concurrent-machines+ build-depends: base, time, machines, concurrent-machines default-language: Haskell2010 ghc-options: -threaded "-with-rtsopts=-N2"
src/Data/Machine/Concurrent/Scatter.hs view
@@ -186,13 +186,13 @@ -- keep running it as long as upstream does not yield a 'Left' which -- we can not handle. When upstream yields a 'Left', we 'stop'. rightOnly :: Monad m => ProcessT m b r -> ProcessT m (Either a b) r-rightOnly snk = repeatedly (await >>= either (const stop) yield) ~> snk+rightOnly snk = repeatedly (await >>= either (const stop) (\x -> yield x)) ~> snk -- | We have a sink for the Left output of a source, so we want to -- keep running it as long as upstream does not yield a 'Right' which -- we can not handle. When upstream yields a 'Right', we 'stop'. leftOnly :: Monad m => ProcessT m a r -> ProcessT m (Either a b) r-leftOnly snk = repeatedly (await >>= either yield (const stop)) ~> snk+leftOnly snk = repeatedly (await >>= either (\x -> yield x) (const stop)) ~> snk -- | Connect two processes to the downstream tails of a 'Machine' that -- produces tuples. The two downstream consumers are run
src/Data/Machine/Regulated.hs view
@@ -14,7 +14,7 @@ regulated :: MonadIO m => Double -> ProcessT m a a regulated target = construct $ liftIO getCurrentTime >>= go 0 where go dt prevT =- do await >>= yield+ do await >>= \x -> yield x t <- liftIO getCurrentTime let e = target - realToFrac (diffUTCTime t prevT) dt' = dt + 0.5 * e