aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Pipes/Text/IO.hs6
-rw-r--r--README.md6
2 files changed, 8 insertions, 4 deletions
diff --git a/Pipes/Text/IO.hs b/Pipes/Text/IO.hs
index 43e636e..92500c3 100644
--- a/Pipes/Text/IO.hs
+++ b/Pipes/Text/IO.hs
@@ -60,7 +60,7 @@ import Prelude hiding (readFile, writeFile)
60 but uses the system encoding and has other nice @Data.Text.IO@ features 60 but uses the system encoding and has other nice @Data.Text.IO@ features
61-} 61-}
62 62
63fromHandle :: MonadIO m => IO.Handle -> Producer' Text m () 63fromHandle :: MonadIO m => IO.Handle -> Producer Text m ()
64fromHandle h = go where 64fromHandle h = go where
65 go = do txt <- liftIO (T.hGetChunk h) 65 go = do txt <- liftIO (T.hGetChunk h)
66 if T.null txt then return () 66 if T.null txt then return ()
@@ -69,7 +69,7 @@ fromHandle h = go where
69{-# INLINABLE fromHandle#-} 69{-# INLINABLE fromHandle#-}
70 70
71-- | Stream text from 'stdin' 71-- | Stream text from 'stdin'
72stdin :: MonadIO m => Producer' Text m () 72stdin :: MonadIO m => Producer Text m ()
73stdin = fromHandle IO.stdin 73stdin = fromHandle IO.stdin
74{-# INLINE stdin #-} 74{-# INLINE stdin #-}
75 75
@@ -80,7 +80,7 @@ stdin = fromHandle IO.stdin
80MAIN = PUTSTRLN "HELLO WORLD" 80MAIN = PUTSTRLN "HELLO WORLD"
81-} 81-}
82 82
83readFile :: MonadSafe m => FilePath -> Producer' Text m () 83readFile :: MonadSafe m => FilePath -> Producer Text m ()
84readFile file = Safe.withFile file IO.ReadMode fromHandle 84readFile file = Safe.withFile file IO.ReadMode fromHandle
85{-# INLINE readFile #-} 85{-# INLINE readFile #-}
86 86
diff --git a/README.md b/README.md
index 3bb067e..ff2bf1e 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,10 @@
1pipes-text 1pipes-text
2========== 2==========
3 3
4This package follows the rule `pipes-text : pipes-bytestring :: text : bytestring` It has three modules, `Pipes.Text` , `Pipes.Text.Encoding` and `Pipes.Text.IO`; the division has more or less the significance it has in the `text` library. 4This package follows the rule:
5
6 `pipes-text : pipes-bytestring :: text : bytestring`
7
8It has three modules, `Pipes.Text` , `Pipes.Text.Encoding` and `Pipes.Text.IO`; the division has more or less the significance it has in the `text` library.
5 9
6Note that the module `Pipes.Text.IO` uses version 0.11.3 or later of the `text` library. (It thus works with the version of `text` that came with the 2013 Haskell Platform. To use an older `text`, install with the flag `-fnoio` \ No newline at end of file 10Note that the module `Pipes.Text.IO` uses version 0.11.3 or later of the `text` library. (It thus works with the version of `text` that came with the 2013 Haskell Platform. To use an older `text`, install with the flag `-fnoio` \ No newline at end of file