name: pipes-text
-version: 0.0.0.1
-synopsis: Text pipes.
-description: 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`. The distinctive feature
- of the library is the `Text/ByteString` encoding and decoding apparatus.
+version: 0.0.2.5
+synopsis: properly streaming text
+description: /New in version 0.0.2.x/: The new module @Pipes.Prelude.Text@ exports line-based @Text@ producers and consumers as a drop-in replacement for the @String@ material in @Pipes.Prelude@ and @Pipes.Safe.Prelude@. They can be used as one uses @Pipes.Prelude@ without reference to the rest of this package. See the caveats in the documentation for that module.
.
- To this core are added some simple functions akin to the `String`
- operations in `Pipes.Prelude`, and others like the utilities in `Data.Text`.
+ The organization of this package follows the rule:
.
- 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.
+ * @pipes-text : pipes-bytestring :: text : bytestring@
+ .
+ Familiarity with the other three packages should give one an idea what to expect where. The package has three principal modules, @Pipes.Text@ , @Pipes.Text.Encoding@ and @Pipes.Text.IO@; the division has more or less the significance it has in the @text@ library.
+ .
+ The module @Pipes.Text.IO@ is present as a convenience. Official pipes IO uses @Pipes.ByteString@ together with the bytestring decoding functions in @Pipes.Text.Encoding@. In particular, the @Pipes.Text.IO@ functions use Text exceptions, while @Pipes.Text@ uses the standard pipes practice of breaking with a failed parse. Thus, for example, the type of @decodeUtf8@ is
+ .
+ * @decodeUtf8 :: Monad m => Producer ByteString m r -> Producer Text m (Producer ByteString m r)@
+ .
+ where any unparsed bytes are returned.
+ .
+ @Pipes.Text.IO@ and @Pipes.Prelude.Text@ use version 0.11.3 or later of the @text@ library; older versions of @text@ can be used with the flag @-fnoio@
+
+
homepage: https://github.com/michaelt/text-pipes
bug-reports: https://github.com/michaelt/text-pipes/issues
build-type: Simple
cabal-version: >=1.10
-extra-source-files: README.md include/*.h
+extra-source-files: README.md changelog
source-repository head
type: git
location: https://github.com/michaelt/text-pipes
+flag noio
+ default: False
+ Description: Use a version of text earlier than 0.11.3
library
- c-sources: cbits/cbits.c
- include-dirs: include
- exposed-modules: Pipes.Text, Pipes.Text.Internal
- other-modules: Pipes.Text.Internal.Decoding, Pipes.Text.Internal.Codec
+ exposed-modules: Pipes.Text, Pipes.Text.Encoding
+ build-depends: base >= 4 && < 5 ,
+ bytestring >= 0.9.2.1 && < 0.11,
+ text >= 0.11.2 && < 1.3 ,
+ streaming-commons >= 0.1 && < 0.2 ,
+ pipes >= 4.0 && < 4.4 ,
+ pipes-group >= 1.0.0 && < 1.1 ,
+ pipes-parse >= 3.0.0 && < 3.1 ,
+ pipes-safe >= 2.1 && < 2.3 ,
+ pipes-bytestring >= 1.0 && < 2.2 ,
+ transformers >= 0.2.0.0 && < 0.6
+
other-extensions: RankNTypes
- build-depends: base >= 4 && < 5 ,
- bytestring >=0.10 && < 0.11,
- text >=0.11 && < 1.2,
- profunctors >= 3.1.1 && < 4.1 ,
- pipes >=4.0 && < 4.2,
- pipes-group >= 1.0.0 && < 1.1 ,
- pipes-parse >=2.0 && < 3.1,
- pipes-safe,
- pipes-bytestring >= 1.0 && < 2.1,
- transformers >= 0.2.0.0 && < 0.4
- -- hs-source-dirs:
default-language: Haskell2010
- ghc-options: -O2
+
+ if !flag(noio)
+ exposed-modules: Pipes.Text.IO, Pipes.Text.Tutorial, Pipes.Prelude.Text
+ build-depends: text >=0.11.3 && < 1.3