The pipes-text package


Many of the pipes and other operations defined here mirror those in the pipes-bytestring library. E.g., folds like length and grouping operations like lines simply adjust for the difference between strict ByteString and strict Text, and between Word8 and Char.

To this core are added some simple functions some akin to the String operations in Pipes.Prelude, some 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]


Dependenciesbase (==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]
AuthorMichael Thompson
CategoryText, Pipes
Home page
Bug tracker
UploadedWed Feb 5 03:13:54 UTC 2014 by MichaelThompson




Maintainers' corner

For package maintainers and hackage trustees

Readme for pipes-text-


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