aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormichaelt <what_is_it_to_do_anything@yahoo.com>2016-05-30 07:58:54 -0400
committermichaelt <what_is_it_to_do_anything@yahoo.com>2016-05-30 07:58:54 -0400
commit5dca0cf23401438e53f88a216b65d5e983bc9292 (patch)
treeef900f501df3fb78c669109e174f3f0cbf770ee1
parentd19efff3b167122a83f5c269fd6ecb8cf9c78f33 (diff)
downloadtext-pipes-5dca0cf23401438e53f88a216b65d5e983bc9292.tar.gz
text-pipes-5dca0cf23401438e53f88a216b65d5e983bc9292.tar.zst
text-pipes-5dca0cf23401438e53f88a216b65d5e983bc9292.zip
pre-version-bump
-rw-r--r--Pipes/Text/Tutorial.hs6
-rw-r--r--pipes-text.cabal15
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 @@
1name: pipes-text 1name: pipes-text
2version: 0.0.2.0 2version: 0.0.2.1
3synopsis: Text pipes. 3synopsis: properly streaming text
4description: * This organization of the package follows the rule 4description: /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