i think explicit recursion is quite clean?<br><br><br><span style="font-family: courier new,monospace;">f :: [a] -&gt; [a]</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">f (x:y:zs) = x : f zs</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">f x = x</span><br style="font-family: courier new,monospace;"><br><br><br><div class="gmail_quote">On 7 June 2010 19:42, Thomas Hartman <span dir="ltr">&lt;<a href="mailto:tphyahoo@gmail.com">tphyahoo@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">maybe this?<br>
<br>
map snd . filter (odd . fst) . zip [1,2..] $ [1,2,3,4,5]<br>
<br>
2010/6/6 R J &lt;<a href="mailto:rj248842@hotmail.com">rj248842@hotmail.com</a>&gt;:<br>
<div><div></div><div class="h5">&gt; What&#39;s the cleanest definition for a function f :: [a] -&gt; [a] that takes a<br>
&gt; list and returns the same list, with alternate items removed?  e.g., f [0,<br>
&gt; 1, 2, 3, 4, 5] = [1,3,5]?<br>
&gt;<br>
&gt; ________________________________<br>
&gt; The New Busy is not the old busy. Search, chat and e-mail from your inbox.<br>
&gt; Get started.<br>
</div></div>&gt; _______________________________________________<br>
&gt; Haskell-Cafe mailing list<br>
&gt; <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
&gt;<br>
&gt;<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Ozgur Akgun<br>