Data.ByteString.Char8 uses IO functions exported from Data.ByteString
authorTravis Whitaker <pi.boy.travis@gmail.com>
Tue, 20 Sep 2016 21:09:59 +0000 (17:09 -0400)
committerTravis Whitaker <pi.boy.travis@gmail.com>
Tue, 20 Sep 2016 21:09:59 +0000 (17:09 -0400)
Data/ByteString/Char8.hs

index 5959c75..f548a5e 100644 (file)
@@ -248,9 +248,10 @@ import Data.ByteString (empty,null,length,tail,init,append
                        ,findSubstring,findSubstrings,breakSubstring,copy,group
 
                        ,getLine, getContents, putStr, interact
+                       ,readFile, writeFile, appendFile
                        ,hGetContents, hGet, hGetSome, hPut, hPutStr
-                       ,hGetLine, hGetNonBlocking, hPutNonBlocking
-                       ,packCString,packCStringLen
+                       ,hPutStrLn, putStrLn, hGetLine, hGetNonBlocking
+                       ,hPutNonBlocking, packCString, packCStringLen
                        ,useAsCString,useAsCStringLen
                        )
 
@@ -263,7 +264,6 @@ import GHC.Char (eqChar)
 #endif
 import qualified Data.List as List (intersperse)
 
-import System.IO    (Handle,stdout,withBinaryFile,hFileSize,IOMode(..))
 import Foreign
 
 
@@ -963,35 +963,3 @@ readInteger as
 
           combine2 b (n:m:ns) = let t = m*b + n in t `seq` (t : combine2 b ns)
           combine2 _ ns       = ns
-
-------------------------------------------------------------------------
--- For non-binary text processing:
-
--- | Read an entire file strictly into a 'ByteString'.  This is far more
--- efficient than reading the characters into a 'String' and then using
--- 'pack'.  It also may be more efficient than opening the file and
--- reading it using hGet.
-readFile :: FilePath -> IO ByteString
-readFile f = withBinaryFile f ReadMode
-    (\h -> hFileSize h >>= hGet h . fromIntegral)
-
-modifyFile :: IOMode -> FilePath -> ByteString -> IO ()
-modifyFile mode f txt = withBinaryFile f mode (`hPut` txt)
-
--- | Write a 'ByteString' to a file.
-writeFile :: FilePath -> ByteString -> IO ()
-writeFile = modifyFile WriteMode
-
--- | Append a 'ByteString' to a file.
-appendFile :: FilePath -> ByteString -> IO ()
-appendFile = modifyFile AppendMode
-
--- | Write a ByteString to a handle, appending a newline byte
-hPutStrLn :: Handle -> ByteString -> IO ()
-hPutStrLn h ps
-    | length ps < 1024 = hPut h (ps `B.snoc` 0x0a)
-    | otherwise        = hPut h ps >> hPut h (B.singleton 0x0a) -- don't copy
-
--- | Write a ByteString to stdout, appending a newline byte
-putStrLn :: ByteString -> IO ()
-putStrLn = hPutStrLn stdout