-- | Binary IO. module Agda.Utils.IO.Binary ( readBinaryFile' ) where import System.IO import Data.ByteString.Lazy as BS -- | Returns a close function for the file together with the contents. readBinaryFile' :: FilePath -> IO (ByteString, IO ()) readBinaryFile' :: FilePath -> IO (ByteString, IO ()) readBinaryFile' FilePath file = do Handle h <- FilePath -> IOMode -> IO Handle openBinaryFile FilePath file IOMode ReadMode ByteString s <- Handle -> IO ByteString BS.hGetContents Handle h forall (m :: * -> *) a. Monad m => a -> m a return (ByteString s, Handle -> IO () hClose Handle h)