<br>On Wed, Sep 14, 2011 at 17:31, Ivan Lazar Miljenovic wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On 15 September 2011 01:24, Sean Leather wrote:<br>


&gt; On Wed, Sep 14, 2011 at 05:03, Kazu Yamamoto wrote:<br>
&gt;&gt;<br>
&gt;&gt; I would like to have an efficient implementation of the chop function.<br>
&gt;<br>
&gt; [...]<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; Are there any more efficient implementations of chop? Any suggestions?<br>
&gt;<br>
&gt;   chop xs = go xs id &quot;&quot;<br>
&gt;     where<br>
&gt;       go &quot;&quot;     _               = id<br>
&gt;       go (c:cs) ss | isSpace c  = go cs (ss . (:) c)<br>
&gt;       go (c:cs) ss | otherwise  = ss . (:) c . go cs id<br>
<br>
</div>Why the extra case for go?  The otherwise guard can be part of the<br>
second case...</blockquote><div><br></div><div>Do you mean &quot;why include &#39;go (c:cs) ss&#39; twice&quot;? That&#39;s merely because I was working through several versions and forgot to merge the second and third cases before sending the email. Nothing sinister.</div>

<div><br></div><div>Sean</div></div>