Sebastian Sylvan wrote:

A sorry, I thought the delimiter was a line delimiter. I'm trying to get to
that fusion goodness by using built-in functions as much as possible...

How about this one:

clean del = B.map ( B.filter (/='\n') ) . B.groupBy (\x y -> (x,y) /=
(del,'\n'))

That groupBy will group it into groups which don't have the delimiter
followed by a newline in them (which is the sequence your rows end with),
then it filters out newlines in each row. You might want to filter out
spaces first (if there are any) so that you don't get a space between the
delimiter and newline at the end...


I think you still need unlines after that so is the time complexity different to the

unlines . foldr (function including `last') . lines

in my first post? Or is it better for another reason, such as "fusion goodness"?
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to