alts :: [a] -> [a]
alts xs = map fst . filter snd $ zip xs (cycle [False, True])

Prelude> alts [0, 1..5]
[1,3, 5]

On Sunday Jun 6, 2010, at 10:46 AM, 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]?
> 
> 
> The New Busy is not the old busy. Search, chat and e-mail from your inbox. 
> Get started. _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to