Я пытаюсь понять, как использовать библиотеку iteratee с Haskell. Все статьи, которые я видел до сих пор, похоже, сосредоточены на создании интуиции для того, как можно построить итерации, что полезно, но теперь, когда я хочу спуститься и фактически использовать их, я немного чувствую себя в море. Глядя на исходный код для итераций, для меня было ограниченное значение.
Скажем, у меня есть эта функция, которая обрезает конечную пробел из строки:
import Data.ByteString.Char8
rstrip :: ByteString -> ByteString
rstrip = fst . spanEnd isSpace
То, что я хотел бы сделать, это сделать это в итерационном режиме, прочитать файл и записать его где-нибудь еще с завершающим пробелом, отделенным от каждой строки. Как бы я начал структурировать это с помощью итераций? Я вижу там функцию enumLinesBS
в Data.Iteratee.Char, которую я мог бы вложить в это, но я не знаю, следует ли мне использовать mapChunks
или convStream
или как переупаковать вышеперечисленную функцию в iteratee.