此代码一执行就会出现<stdin>: hGetBufSome: resource exhausted (Not enough space)
错误。
import qualified Data.ByteString.Lazy.Char8 as B8
main = do
(l:_) <- B8.lines `fmap` B8.getContents
B8.putStrLn l
我只想尝试第一线。因为延迟加载它不会试图让其他人正确吗?我无法弄清楚如何避免这个错误。
答案 0 :(得分:2)
在64位Windows 7上似乎存在延迟字节串的问题,例如
由于这些报告都来自一年多以前,如果您还没有使用该版本,我会尝试使用GHC 7.8.3(例如,来自Haskell平台2014.2.0.0)。
答案 1 :(得分:0)
以下是针对此问题针对GHC的错误报告:https://ghc.haskell.org/trac/ghc/ticket/11009#ticket
我想现在的解决方案是不要在延迟字节串上使用getContents(切换到strict或只是逐步读取)。