<br><br><div><span class="gmail_quote">On 16/06/07, <b class="gmail_sendername">Jim Burton</b> &lt;<a href="mailto:jim@sdf-eu.org">jim@sdf-eu.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Sebastian Sylvan wrote:<br>&gt;<br>&gt; A sorry, I thought the delimiter was a line delimiter. I&#39;m trying to get to<br>&gt; that fusion goodness by using built-in functions as much as possible...<br>&gt;<br>&gt; How about this one:
<br>&gt;<br>&gt; clean del = B.map ( B.filter (/=&#39;\n&#39;) ) . B.groupBy (\x y -&gt; (x,y) /=<br>&gt; (del,&#39;\n&#39;))<br>&gt;<br>&gt; That groupBy will group it into groups which don&#39;t have the delimiter<br>&gt; followed by a newline in them (which is the sequence your rows end with),
<br>&gt; then it filters out newlines in each row. You might want to filter out<br>&gt; spaces first (if there are any) so that you don&#39;t get a space between the<br>&gt; delimiter and newline at the end...<br>&gt;<br>
&gt;<br>I think you still need unlines after that so is the time complexity<br>different to the<br><br>unlines . foldr (function including `last&#39;) . lines<br><br>in my first post? Or is it better for another reason, such as &quot;fusion
<br>goodness&quot;?<br></blockquote></div><br><br>Benchmark it I guess :-)<br>Both versions use a non-bytestring recursive functions (the outer B.map should just be a straight map, and yours use a foldr), which may mess fusion up... Not sure what would happe here...
<br>I don&#39;t have a Haskell compiler at this computer so I can&#39;t try anything out...<br><br clear="all"><br>-- <br>Sebastian Sylvan<br>+44(0)7857-300802<br>UIN: 44640862