X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=pipes-text.cabal;h=9822fd20bf602ccec1f757f2f2ca013ca63c7940;hb=HEAD;hp=02cd1fce3a30075d2e5f6139519cc8b99c220c13;hpb=a008fca5db4c33cf639f095c53bc60737f72e1fb;p=github%2Ffretlink%2Ftext-pipes.git diff --git a/pipes-text.cabal b/pipes-text.cabal index 02cd1fc..9822fd2 100644 --- a/pipes-text.cabal +++ b/pipes-text.cabal @@ -1,25 +1,23 @@ name: pipes-text -version: 0.0.0.5 -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`. It is hoped that this - homogeneity will aid in learning the terms and programming style associated - with both of them. +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. . - The most distinctive addition of the library to that core is the - apparatus for encoding and decoding `Text` and `ByteString`. + The organization of this package follows the rule: . - Also defined are some simple functions akin to the `String` - operations in `Pipes.Prelude`, and others like the utilities in `Data.Text`. + * @pipes-text : pipes-bytestring :: text : bytestring@ . - 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. + 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 @@ -31,28 +29,31 @@ category: Text, Pipes build-type: Simple cabal-version: >=1.10 -extra-source-files: README.md include/*.h changelog +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