or via Arrow: <br><br>swap = snd &amp;&amp;&amp; fst<br><br><div class="gmail_quote">On Wed, Mar 25, 2009 at 9:16 AM, David Menendez <span dir="ltr">&lt;<a href="mailto:dave@zednenem.com">dave@zednenem.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">On Wed, Mar 25, 2009 at 11:32 AM, Simon Marlow &lt;<a href="mailto:marlowsd@gmail.com">marlowsd@gmail.com</a>&gt; wrote:<br>

&gt; Jonathan Cast wrote:<br>
&gt;&gt;<br>
&gt;&gt; Define<br>
&gt;&gt;<br>
&gt;&gt;    swap (a, b) = (b, a)<br>
&gt;<br>
&gt; ew, that&#39;s far too crude.  I think you mean<br>
&gt;<br>
&gt;  swap = uncurry $ flip (,)<br>
<br>
</div>On the theme of using monads where you might not expect,<br>
<br>
swap = liftA2 (,) snd fst<br>
<font color="#888888"><br>
--<br>
Dave Menendez &lt;<a href="mailto:dave@zednenem.com">dave@zednenem.com</a>&gt;<br>
&lt;<a href="http://www.eyrie.org/%7Ezednenem/" target="_blank">http://www.eyrie.org/~zednenem/</a>&gt;<br>
</font><div><div></div><div class="h5">_______________________________________________<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>
</div></div></blockquote></div><br>