[Haskell-cafe] Removing alternate items from a list

Bill Atkins watkins at alum.rpi.edu
Tue Jun 8 09:51:59 EDT 2010


f :: [a] -> [a]
f = filter snd $ zip a (cycle [True, False])

On Monday, June 7, 2010, Ozgur Akgun <ozgurakgun at gmail.com> wrote:
> or, since you don't need to give a name to the second element of the list:
>
> f :: [a] -> [a]
> f (x:_:xs) = x : f xsf x = x
>
>
>
>
> On 7 June 2010 20:11, Ozgur Akgun <ozgurakgun at gmail.com> wrote:
>
> i think explicit recursion is quite clean?
>
>
> f :: [a] -> [a]f (x:y:zs) = x : f zs
>
> f x = x
>
>
> On 7 June 2010 19:42, Thomas Hartman <tphyahoo at gmail.com> wrote:
> maybe this?
>
> map snd . filter (odd . fst) . zip [1,2..] $ [1,2,3,4,5]
>
> 2010/6/6 R J <rj248842 at hotmail.com>:
>> 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 at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>
>>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
> --
> Ozgur Akgun
>
>
> --
> Ozgur Akgun
>


More information about the Haskell-Cafe mailing list