
On Wed, Sep 14, 2011 at 17:31, Ivan Lazar Miljenovic wrote:
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