6
Perché lo Data.Binary.Get non è pigro come dice? O sto facendo qualcosa di sbagliato qui?Binario pigro get
import Data.ByteString.Lazy (pack)
import Data.Binary.Get (runGet, isEmpty, getWord8)
getWords = do
empty <- isEmpty
if empty
then return []
else do
w <- getWord8
ws <- getWords
return $ w:ws
main = print $ take 10 $ runGet getWords $ pack $ repeat 1
Questa funzione principale si blocca invece di stampare 10 parole.
La documentazione si è collegato dice: "Questo decoder ha il lato negativo che avrà bisogno di leggere tutti gli input prima di poter tornare" –
@MikhailGlushenkov Beh, in effetti, come mi sono perso. Grazie :) – swish