Как разобрать файл размером 7 ГБ с помощью Data.ByteString?

Мне нужно разобрать файл, и действительно, сначала нужно его прочитать, вот моя программа:

import qualified Data.ByteString.Char8 as B
import System.Environment    

main = do
 args      <- getArgs
 let path  =  args !! 0
 content   <- B.readFile path
 let lines = B.lines content
 foobar lines 

 foobar :: [B.ByteString] -> IO()
 foobar _ = return ()

, но после компиляции

> ghc --make -O2 tmp.hs 

выполнение проходит через следующую ошибку при вызове с файлом 7Gigabyte.

> ./tmp  big_big_file.dat
> tmp: {handle: big_big_file.dat}: hGet: illegal ByteString size (-1501792951): illegal operation

спасибо за любой ответ!

7
задан Fopa Léon Constantin 4 April 2012 в 13:34
поделиться