or via Arrow: <br><br>swap = snd &&& fst<br><br><div class="gmail_quote">On Wed, Mar 25, 2009 at 9:16 AM, David Menendez <span dir="ltr"><<a href="mailto:dave@zednenem.com">dave@zednenem.com</a>></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 <<a href="mailto:marlowsd@gmail.com">marlowsd@gmail.com</a>> wrote:<br>
> Jonathan Cast wrote:<br>
>><br>
>> Define<br>
>><br>
>> swap (a, b) = (b, a)<br>
><br>
> ew, that's far too crude. I think you mean<br>
><br>
> 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 <<a href="mailto:dave@zednenem.com">dave@zednenem.com</a>><br>
<<a href="http://www.eyrie.org/%7Ezednenem/" target="_blank">http://www.eyrie.org/~zednenem/</a>><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>