pipes

Compositional pipelines

LTS Haskell 8.17:4.3.4
Stackage Nightly 2017-06-11:4.3.4
Latest on Hackage:4.3.4
BSD3 licensed by Gabriel Gonzalez
Maintained by Gabriel439@gmail.com

Module documentation for 4.3.4

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.

Changes

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

Used by 154 packages:
BiobaseInfernal, DPutils, EtaMOO, FastxPipe, Frames, Lambdaya, VKHS, WordAlignment, accelerate-examples, agentx, annah, argon, b-tree, bgzf, blosum, borel, ceilometer-common, clr-bindings, clr-win-linker, colchis, convert-annotation, daemons, dash-haskell, declarative, deka-tests, dirstream, discord-hs, diversity, dynamic-graph, engine-io-growler, fasta, flamingra, flat-mcmc, flowdock, gcodehs, geolite-csv, ghc-mod, git-fmt, glazier-pipes, glazier-react-examples, growler, habit, halma-gui, hasty-hamiltonian, hfmt, hierarchy, hist-pl, hist-pl-lexicon, hsnsq, http-pony, http-pony-serve-wai, http-pony-transformer-http, https-everywhere-rules, hyperdrive, imap, inspection-proxy, latest-npm-version, lentil, libsystemd-journal, liveplot, lmdb-high-level, marquise, mcpi, mighty-metropolis, minecraft-data, modify-fasta, morte, mvc, nc-indicators, neural, nullpipe, nylas, omnifmt, partage, pianola, pipe-enumerator, pipes-aeson, pipes-async, pipes-attoparsec, pipes-bgzf, pipes-binary, pipes-break, pipes-bytestring, pipes-bzip, pipes-cacophony, pipes-category, pipes-cellular, pipes-cellular-csv, pipes-cereal, pipes-cereal-plus, pipes-cliff, pipes-concurrency, pipes-courier, pipes-csv, pipes-errors, pipes-extras, pipes-fastx, pipes-files, pipes-fluid, pipes-group, pipes-http, pipes-illumina, pipes-interleave, pipes-io, pipes-key-value-csv, pipes-lines, pipes-lzma, pipes-misc, pipes-mongodb, pipes-network, pipes-network-tls, pipes-p2p, pipes-p2p-examples, pipes-parse, pipes-postgresql-simple, pipes-protolude, pipes-random, pipes-rt, pipes-s3, pipes-safe, pipes-shell, pipes-sqlite-simple, pipes-text, pipes-transduce, pipes-vector, pipes-wai, pipes-websockets, pipes-zeromq4, pipes-zlib, pitchtrack, postie, process-streaming, pub, purescript, pushme, rakhana, rasa, regex-tdfa-pipes, remotion, sdr, siphon, speedy-slice, spoty, streaming-eversion, streaming-utils, tailfile-hinotify, telegram-bot, teleshell, top, tpar, tsne, vgrep, warc, wobsurv
comments powered byDisqus