4
, module System.IO.UTF8
8
import qualified System.IO.UTF8 as UTF8
9
import qualified System.IO as IO
10
import qualified Data.ByteString.Lazy as BS
11
import Control.Applicative
13
import Agda.Utils.Unicode
15
-- | Returns a close function for the file together with the contents.
17
readBinaryFile' :: FilePath -> IO (BS.ByteString, IO ())
18
readBinaryFile' file = do
19
h <- IO.openBinaryFile file IO.ReadMode
20
s <- BS.hGetContents h
21
return (s, IO.hClose h)
23
-- | Reads a UTF8-encoded file in binary mode and converts all Unicode
24
-- line endings into '\n'.
26
readTextFile :: FilePath -> IO String
27
readTextFile file = convertLineEndings <$> UTF8.readFile file