The pipes-text package

[ Tags: bsd3, library, pipes, text ] [ Propose Tags ]

Many of the pipes and other operations defined here mirror those in the pipes-bytestring library. Folds like length and grouping operations like lines simply adjust for the differences between ByteString and Text and Word8 and Char. It is hoped that this homogeneity will aid in learning the terms and programming style associated with both of them.

The most distinctive addition of the library to that core is the apparatus for encoding and decoding Text and ByteString.

Also defined are some simple functions akin to the String operations in Pipes.Prelude, and others like the utilities in Data.Text.

All of the IO operations defined here - e.g readFile, stdout etc. - are conveniences akin to those in Data.Text.IO which e.g. try to find the system encoding and use the exceptions defined in the text library. Proper IO in the sense of this library will employ pipes-bytestring in conjuntion with pure operations like decodeUtf8 and encodeUtf8 that are defined here.

[Skip to Readme]


Change log changelog
Dependencies base (==4.*), bytestring (==0.10.*), pipes (>=4.0 && <4.2), pipes-bytestring (>=1.0 && <2.1), pipes-group (>=1.0.0 && <1.1), pipes-parse (>=2.0 && <3.1), pipes-safe, profunctors (>=3.1.1 && <4.1), text (>=0.11 && <1.2), transformers (>= && <0.4) [details]
License BSD3
Author Michael Thompson
Category Text, Pipes
Home page
Bug tracker
Source repository head: git clone
Uploaded Wed Feb 5 10:08:44 UTC 2014 by MichaelThompson
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 6465 total (41 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for pipes-text-

[back to package description]


This repo is called text-pipes, but the package is named pipes-text as one might expect.
The two modules it contatins, Pipes.Text and Pipes.Text.Parse, use materials from pipes-text; otherwise they follow the pattern of pipes-bytestring, adding a few pipes-prelude-like operations. The most important function, decodeUtf8, written by ibotty, uses the development version of the text package; this package can however be built with the hackage text though decodeUtf8 will then not exist.

 >>> runEffect $ stdinLn >-> P.takeWhile (/= "quit") >-> stdoutLn
 >>> runSafeT $ runEffect $ readFile "" >-> toUpper >-> hoist lift stdout