2010-08-09 7 views
6

Comment pourrais-je écrire une fonction avec une définition quelque chose comme ...Lecture dans un fichier binaire dans haskell

readBinaryFile :: Filename -> IO Data.ByteString 

J'ai les parties fonctionnelles de Haskell vers le bas, mais le système de type et monades faire encore j'ai mal à la tête. Quelqu'un peut-il écrire et expliquer comment cette fonction fonctionne pour moi?

Répondre

9
import Data.ByteString.Lazy 
readFile fp 

facile comme tarte homme. Abattez les paresseux si vous ne voulez pas que la ficelle soit paresseuse.

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 
+1

http://haskell.org/hoogle/?hoogle=readfile –

+1

Merci beaucoup! J'aime comment haskell simple est à lire. –

3

readBinaryFile :: Nom du fichier -> IO Data.ByteString

Ceci est simplement la fonction Data.ByteString.readFile, que vous ne devriez jamais avoir à écrire, car il est dans le paquet bytestring.

+0

mais comment est-ce que readFile est implémenté? – osager

Questions connexes