or via Arrow:

swap = snd &&& fst

On Wed, Mar 25, 2009 at 9:16 AM, David Menendez <dave@zednenem.com> wrote:
On Wed, Mar 25, 2009 at 11:32 AM, Simon Marlow <marlowsd@gmail.com> wrote:
> Jonathan Cast wrote:
>>
>> Define
>>
>>    swap (a, b) = (b, a)
>
> ew, that's far too crude.  I think you mean
>
>  swap = uncurry $ flip (,)

On the theme of using monads where you might not expect,

swap = liftA2 (,) snd fst

--
Dave Menendez <dave@zednenem.com>
<http://www.eyrie.org/~zednenem/>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe