[Haskell-cafe] Removing alternate items from a list

Yitzchak Gale gale at sefer.org
Tue Jun 8 07:16:43 EDT 2010


R J wrote:
> What's the cleanest definition for a function f :: [a] -> [a] that takes a
> list and returns the same list, with alternate items removed?  e.g., f [0,
> 1, 2, 3, 4, 5] = [1,3,5]?

f = map head . takeWhile (not . null) . iterate (drop 2) . drop 1

Regards,
Yitz


More information about the Haskell-Cafe mailing list