我想知道首选的方法是将惰性文本转换为按行尾分隔的严格文本列表。我想出了类似下面的东西,但我不确定我是否保证每个严格的文本元素都会是一个完整的行(或者如果它还有其他问题):
import qualified Data.Text.Lazy as LT
readLines filePath = do
contents <- Data.Text.Lazy.IO.readFile filePath
let lines = concat (map LT.toChunks (LT.lines contents))
return lines