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 28 packages in
nightly-2024-09-12(full list with versions):
declarative,
di-monad,
DPutils,
Frames,
hasty-hamiltonian,
mighty-metropolis,
monad-bayes,
pipes-aeson,
pipes-attoparsec,
pipes-binary,
pipes-bytestring,
pipes-concurrency,
pipes-csv,
pipes-extras,
pipes-fastx,
pipes-fluid,
pipes-group,
pipes-mongodb,
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