packages feed

pipes-misc 0.2.0.0 → 0.2.0.1

raw patch · 2 files changed

+11/−7 lines, 2 filesdep ~pipes-miscPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: pipes-misc

API changes (from Hackage documentation)

Files

pipes-misc.cabal view
@@ -1,5 +1,5 @@ name:                pipes-misc-version:             0.2.0.0+version:             0.2.0.1 synopsis:            Miscellaneous utilities for pipes, required by glazier-tutorial description:         Please see README.md homepage:            https://github.com/louispan/pipes-misc#readme@@ -35,7 +35,7 @@   build-depends:       base >= 4.7 && < 5                      , lens >=4 &&< 5                      , pipes >= 4 && < 5-                     , pipes-misc >= 0.2.0.0+                     , pipes-misc                      , transformers >= 0.4 && < 0.6                      , hspec >= 2 && < 3   ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
src/Pipes/Misc.hs view
@@ -6,7 +6,7 @@ module Pipes.Misc where  import Control.Arrow-import qualified Control.Concurrent.STM as S+import Control.Concurrent.STM import Control.Lens import Control.Monad import Control.Monad.State.Strict@@ -19,14 +19,18 @@ import Control.Monad.Except import Control.Applicative --- | Like Pipes.Concurrent.fromInput, but stays in STM-fromInputSTM :: PC.Input a -> P.Producer' a S.STM ()+-- | Like Pipes.Concurrent.fromInput, but stays in STM.+-- Using @hoist atomically@ to convert to IO monad seems to work.+-- Do not use @unsafeHoist atomically@.+fromInputSTM :: PC.Input a -> P.Producer' a STM () fromInputSTM as = void $ runMaybeT $ forever $ do     a <- MaybeT $ lift $ PC.recv as     lift $ P.yield a --- | Like Pipes.Concurrent.toOutput, but stays in STM-toOutputSTM :: PC.Output a -> P.Consumer' a S.STM ()+-- | Like Pipes.Concurrent.toOutput, but stays in STM.+-- Using @hoist atomically@ to convert to IO monad seems to work.+-- Do not use @unsafeHoist atomically@.+toOutputSTM :: PC.Output a -> P.Consumer' a STM () toOutputSTM output = void $ runMaybeT $ forever $ do     a <- lift P.await     p <- lift $ lift $ PC.send output a