pipes-text 0.0.2.1 → 0.0.2.2
raw patch · 2 files changed
+7/−9 lines, 2 filesdep ~transformers
Dependency ranges changed: transformers
Files
- Pipes/Text/Tutorial.hs +3/−3
- pipes-text.cabal +4/−6
Pipes/Text/Tutorial.hs view
@@ -84,7 +84,7 @@ in a way that is independent of the boundaries of the underlying @Text@ chunks. This means that they may freely split text into smaller texts and /discard empty texts/. The objective, though, is that they should not /concatenate texts/ in order to provide strict upper- bounds on memory usage.+ bounds on memory usage even for indefinitely complex compositions. For example, to stream only the first three lines of 'stdin' to 'stdout' you might write:@@ -93,12 +93,12 @@ > import qualified Pipes.Text as Text > import qualified Pipes.Text.IO as Text > import Pipes.Group (takes')-> import Lens.Family (view, (%~)) -- or, Control.Lens+> import Lens.Family (view, over) -- or `Lens.Micro.Mtl` or `Control.Lens` or etc. > > main = runEffect $ takeLines 3 Text.stdin >-> Text.stdout > where > takeLines n = view Text.unlines . takes' n . view Text.lines-> -- or equivalently: Text.unlines %~ takes' n+> -- or equivalently: over Text.unlines (takes' n) This program will not bring more into memory than what @Text.stdin@ considers one chunk of text (~ 32 KB), even if individual lines are split
pipes-text.cabal view
@@ -1,11 +1,9 @@ name: pipes-text-version: 0.0.2.1+version: 0.0.2.2 synopsis: properly streaming text-description: /New in version 0.0.2/: +description: New in version 0.0.2/: 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. .- 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.- . - For the rest, the organization of this package follows the rule:+ The organization of this package follows the rule: . * @pipes-text : pipes-bytestring :: text : bytestring@ .@@ -47,7 +45,7 @@ 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.5+ transformers >= 0.2.0.0 && < 0.6 other-extensions: RankNTypes default-language: Haskell2010