diff options
author | michaelt <what_is_it_to_do_anything@yahoo.com> | 2016-05-30 07:58:54 -0400 |
---|---|---|
committer | michaelt <what_is_it_to_do_anything@yahoo.com> | 2016-05-30 07:58:54 -0400 |
commit | 5dca0cf23401438e53f88a216b65d5e983bc9292 (patch) | |
tree | ef900f501df3fb78c669109e174f3f0cbf770ee1 | |
parent | d19efff3b167122a83f5c269fd6ecb8cf9c78f33 (diff) | |
download | text-pipes-5dca0cf23401438e53f88a216b65d5e983bc9292.tar.gz text-pipes-5dca0cf23401438e53f88a216b65d5e983bc9292.tar.zst text-pipes-5dca0cf23401438e53f88a216b65d5e983bc9292.zip |
pre-version-bump
-rw-r--r-- | Pipes/Text/Tutorial.hs | 6 | ||||
-rw-r--r-- | pipes-text.cabal | 15 |
2 files changed, 11 insertions, 10 deletions
diff --git a/Pipes/Text/Tutorial.hs b/Pipes/Text/Tutorial.hs index eeaafa7..d7ff703 100644 --- a/Pipes/Text/Tutorial.hs +++ b/Pipes/Text/Tutorial.hs | |||
@@ -84,7 +84,7 @@ import Pipes.Text.Encoding | |||
84 | in a way that is independent of the boundaries of the underlying @Text@ chunks. | 84 | in a way that is independent of the boundaries of the underlying @Text@ chunks. |
85 | This means that they may freely split text into smaller texts and /discard empty texts/. | 85 | This means that they may freely split text into smaller texts and /discard empty texts/. |
86 | The objective, though, is that they should not /concatenate texts/ in order to provide strict upper | 86 | The objective, though, is that they should not /concatenate texts/ in order to provide strict upper |
87 | bounds on memory usage. | 87 | bounds on memory usage even for indefinitely complex compositions. |
88 | 88 | ||
89 | For example, to stream only the first three lines of 'stdin' to 'stdout' you | 89 | For example, to stream only the first three lines of 'stdin' to 'stdout' you |
90 | might write: | 90 | might write: |
@@ -93,12 +93,12 @@ import Pipes.Text.Encoding | |||
93 | > import qualified Pipes.Text as Text | 93 | > import qualified Pipes.Text as Text |
94 | > import qualified Pipes.Text.IO as Text | 94 | > import qualified Pipes.Text.IO as Text |
95 | > import Pipes.Group (takes') | 95 | > import Pipes.Group (takes') |
96 | > import Lens.Family (view, (%~)) -- or, Control.Lens | 96 | > import Lens.Family (view, over) -- or `Lens.Micro.Mtl` or `Control.Lens` or etc. |
97 | > | 97 | > |
98 | > main = runEffect $ takeLines 3 Text.stdin >-> Text.stdout | 98 | > main = runEffect $ takeLines 3 Text.stdin >-> Text.stdout |
99 | > where | 99 | > where |
100 | > takeLines n = view Text.unlines . takes' n . view Text.lines | 100 | > takeLines n = view Text.unlines . takes' n . view Text.lines |
101 | > -- or equivalently: Text.unlines %~ takes' n | 101 | > -- or equivalently: over Text.unlines (takes' n) |
102 | 102 | ||
103 | This program will not bring more into memory than what @Text.stdin@ considers | 103 | This program will not bring more into memory than what @Text.stdin@ considers |
104 | one chunk of text (~ 32 KB), even if individual lines are split | 104 | one chunk of text (~ 32 KB), even if individual lines are split |
diff --git a/pipes-text.cabal b/pipes-text.cabal index ccde9a0..0885462 100644 --- a/pipes-text.cabal +++ b/pipes-text.cabal | |||
@@ -1,15 +1,17 @@ | |||
1 | name: pipes-text | 1 | name: pipes-text |
2 | version: 0.0.2.0 | 2 | version: 0.0.2.1 |
3 | synopsis: Text pipes. | 3 | synopsis: properly streaming text |
4 | description: * This organization of the package follows the rule | 4 | description: /New in version 0.0.2/: |
5 | . | ||
6 | A 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. | ||
7 | . | ||
8 | For the rest, the organization of this package follows the rule: | ||
5 | . | 9 | . |
6 | * @pipes-text : pipes-bytestring :: text : bytestring@ | 10 | * @pipes-text : pipes-bytestring :: text : bytestring@ |
7 | . | 11 | . |
8 | 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. A fourth module @Pipes.Prelude.Text@ is explained below. | 12 | 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. A fourth module @Pipes.Prelude.Text@ is explained below. |
9 | . | 13 | . |
10 | Note that the module @Pipes.Text.IO@ is present as a convenience (as is @Data.Text.IO@). Official pipes IO would use @Pipes.ByteString@ together with the bytestring decoding functions in @Pipes.Text.Encoding@. In particular, the @Pipes.Text.IO@ functions use Text exceptions. | 14 | The module @Pipes.Text.IO@ is present as a convenience. Official pipes IO would use @Pipes.ByteString@ together with the bytestring decoding functions in @Pipes.Text.Encoding@. In particular, the @Pipes.Text.IO@ functions use Text exceptions. |
11 | . | ||
12 | The fourth 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. | ||
13 | . | 15 | . |
14 | @Pipes.Text.IO@ and @Pipes.Prelude.Text@ use version 0.11.3 or later of the @text@ library. To use a (very) old version of @text@, install with the flag @-fnoio@ | 16 | @Pipes.Text.IO@ and @Pipes.Prelude.Text@ use version 0.11.3 or later of the @text@ library. To use a (very) old version of @text@, install with the flag @-fnoio@ |
15 | 17 | ||
@@ -49,7 +51,6 @@ library | |||
49 | 51 | ||
50 | other-extensions: RankNTypes | 52 | other-extensions: RankNTypes |
51 | default-language: Haskell2010 | 53 | default-language: Haskell2010 |
52 | ghc-options: -O2 | ||
53 | 54 | ||
54 | if !flag(noio) | 55 | if !flag(noio) |
55 | exposed-modules: Pipes.Text.IO, Pipes.Text.Tutorial, Pipes.Prelude.Text | 56 | exposed-modules: Pipes.Text.IO, Pipes.Text.Tutorial, Pipes.Prelude.Text |