[Haskell-cafe] Re: Point-free style (Was: Things to avoid)
ajb at spamcop.net
ajb at spamcop.net
Thu Feb 10 23:47:32 EST 2005
G'day all.
Quoting Sebastian Sylvan <sebastian.sylvan at gmail.com>:
> I am, like some others, of the opinion that using points-free style
> almost always makes the code less clear for basically everyone else.
Count me among the "some others".
There are basically two situations where "pointless style" makes sense
for me.
1. Currying, when passing a value to a higher-order function.
Compare:
map head xss
with:
map (\xs -> head xs) xss
2. Currying, at the level of a rule.
Compare:
heads xss = map head xss
with:
heads = map head
Note that "currying" applies to operator sections too. The idiom of
"pipelined functions" deserves its own special mention:
countlines = length . lines
But this is really a shorthand for:
countlines cs = length . lines $ cs
I pretty much never use any other uses of pointless style.
Mind you, I don't do any arrow programming.
Mind you, this is probably why I don't do any arrow programming. :-)
Cheers,
Andrew Bromage
More information about the Haskell-Cafe
mailing list