
30 Jun
2011
30 Jun
'11
11:20 a.m.
At Thu, 30 Jun 2011 23:53:02 +1000, John Ky wrote:
But all I've done is:
enum |$ inumReverseLines .| iter
inumReverseLines = mkInum $ do line <- lineI return (L.reverse (L.concat [line, C.pack "\n"]))
mkInum repeatedly invokes its iter argument so as to keep producing chunks. If you want to reverse only one line, it might be easiest to use something along the lines of: mkInumM $ do line <- lineI ifeed (L.reverse (L.concat [line, C.pack "\n"])) mkInumM is a more manual Inum construction function that doesn't automatically do things like loop or handle EOF conditions. David