6

How could I write a function with a definition something like...

readBinaryFile :: Filename -> IO Data.ByteString

I've got the functional parts of Haskell down, but the type system and monads still make my head hurt. Can someone write and explain how that function works to me?

2 Answers 2

9
import Data.ByteString.Lazy
readFile fp

easy as pie man. Knock off the lazy if you don't want the string to be lazy.

import Data.ByteString.Lazy as BS
import Data.Word
import Data.Bits

fileToWordList :: String -> IO [Word8]
fileToWordList fp = do
    contents <- BS.readFile fp
    return $ unpack contents
Sign up to request clarification or add additional context in comments.

Comments

3

readBinaryFile :: Filename -> IO Data.ByteString

This is simply the Data.ByteString.readFile function, which you should never have to write, since it is in the bytestring package.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.