BSD-3-Clause licensed by Gabriella Gonzalez
This version can be pinned in stack with:pipes-4.3.16@sha256:f52626e8789a9918cb389383c6ecfbba898c94e1790b6fc7991a4e256350489b,3883
Module documentation for 4.3.16
Used by 26 packages in
nightly-2025-10-24(full list with versions):
declarative,
di-monad,
DPutils,
hasty-hamiltonian,
mighty-metropolis,
pipes-aeson,
pipes-attoparsec,
pipes-binary,
pipes-bytestring,
pipes-concurrency,
pipes-csv,
pipes-extras,
pipes-fastx,
pipes-fluid,
pipes-group,
pipes-http,
pipes-ordered-zip,
pipes-parse,
pipes-random,
pipes-safe,
pipes-wai,
pipes-zlib,
sequence-formats,
sequenceTools,
servant-pipes,
speedy-slice pipes is a clean and powerful stream processing library that lets you build
and connect reusable streaming components
Advantages over traditional streaming libraries:
Concise API: Use simple commands like for, (>->), await, and yield
Blazing fast: Implementation tuned for speed, including shortcut fusion
Lightweight Dependency: pipes is small and compiles very rapidly,
including dependencies
Elegant semantics: Use practical category theory
ListT: Correct implementation of ListT that interconverts with pipes
Bidirectionality: Implement duplex channels
Extensive Documentation: Second to none!
Import Pipes to use the library.
Read Pipes.Tutorial for an extensive tutorial.
4.3.16
- Fix example code for
every
- Improved documentation for
ListT
4.3.15
4.3.14
- Add
mapMaybe and wither, and more laws for filter and filterM.
4.3.13
- Add
MonadFail instance for Proxy
4.3.12
- Fix space leak introduced in version 4.3.10
- This leak primarily affects the use of
forever
4.3.11
- Fix documentation for
scanM
4.3.10
- Relax
Monad constraints to Functor
- Support GHC 8.8
4.3.9
- Increase upper bound on
exceptions
4.3.8
- Increase upper bound on
exceptions
4.3.7
4.3.6
- Fix implementation of
pass in MonadWriter instance for Proxy
4.3.5
- Support
Semigroup being a super-class of Monoid
4.3.4
- Increase upper bound on
mmorph
4.3.3
- Make
X a synonym for Data.Void.Void
4.3.2
- BUG FIX: Fix
MMonad instance for ListT
- The old instance was an infinite loop
4.3.1
- Support building against
ghc-7.4
4.3.0
- BREAKING CHANGE: Remove
Alternative/MonadPlus instances for Proxy
- See commit 08e7302f43dbf2a40bd367c5ee73ee3367e17768 which explains why
- Add
Traversable instance for ListT
- New
MonadThrow/MonadCatch/MMonad/Semigroup/MonadZip instances for
ListT
- New
MonadThrow/MonadCatch instances for Proxy
- Fix lower bound on
mtl
- Increase upper bound on
optparse-applicative
4.2.0
- BREAKING CHANGE: Switch from
ErrorT to ExceptT
- Add
Foldable instance for ListT
- Fix all warnings
- Enable foldr/build fusion for
toList
4.1.9
- Increase lower bound on
criterion
- Increase upper bound on
transformers for tests/benchmarks
- Optimize code by delaying
INLINABLE annotations
4.1.8
- Increase upper bound on
transformers
- Prepare for MRP (Monad of no Return Proposal)
4.1.7
- Increase lower bound on
deepseq
- Add
unfoldr
- Add
loop
- Add
toListM'
- Improve efficiency of
drop
- License tutorial under Creative Commons license
4.1.6
- Increase lower bound on
base
- Add diagrams to
Pipes.Core documentation
- Add
mapM_
- Add
takeWhile'
- Add
seq
- Improve efficiency of
toListM
4.1.5
- Increase upper bound on
criterion
4.1.4
- Increase upper bound on
criterion
- Add
Monoid instance for Proxy
4.1.3
- Increase lower bound on
mtl
- Re-export
void
- Add
fold'
- Add
foldM'
4.1.2
- Increase upper bounds on
transformers and mtl
4.1.1
- Add
runListT
- Add
MMonad instance for Proxy
- Add
repeatM
- Add laws to documentation of
Pipes.Prelude utilities
4.1.0
- Remove Haskell98 support
- Use internal
X type instead of Data.Void
- Document
Pipes.Lift module:w
- Add
drain
- Add
sequence
4.0.2
- Improve performance of
each
- Add tutorial appendix explaining how to work around quadratic time complexity
4.0.1
- Remove
WriterT and RWST benchmarks
- Add
Enumerable instance for ErrorT
- Add cabal flag for Haskell98 compilation
- Add several rewrite rules
- Add
mtl instances for ListT
- Fix implementation of
pass, which did not satisfy Writer laws
- Implement
fail for ListT
- Add type synonym table to tutorial appendix
- Add QuickCheck tests for
pipes laws
- Add
mapFoldable
- Add
Monoid instance for ListT
- Add manual proofs of
pipes laws in laws.md
4.0.0
Major upgrade of pipes to no longer use Proxy type class