读取haskell中的二进制文件

Cla*_*bel 6 binary haskell bytestring

我怎么能写一个像...这样的定义的函数

readBinaryFile :: Filename -> IO Data.ByteString
Run Code Online (Sandbox Code Playgroud)

我已经将Haskell的功能部分缩小了,但是类型系统和monad仍然让我头疼.有人可以写下并解释这个功能对我有用吗?

BT.*_*BT. 9

import Data.ByteString.Lazy
readFile fp
Run Code Online (Sandbox Code Playgroud)

像饼人一样容易.如果你不想让字符串变得懒惰,那就把你的懒惰搞掉.

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
Run Code Online (Sandbox Code Playgroud)