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