<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Prelude Control.Monad&gt; liftM2 (\a b -&gt; a : b : []) "abc" "123"<br>["a1","a2","a3","b1","b2","b3","c1","c2","c3"]<br>Prelude Control.Monad&gt; <br><br>Got it!<br><br>Thanks to all.<br><br>Michael<br><br>--- On <b>Sat, 7/24/10, aditya siram <i>&lt;aditya.siram@gmail.com&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: aditya siram &lt;aditya.siram@gmail.com&gt;<br>Subject: Re: [Haskell-cafe] Heavy lift-ing<br>To: "Max Rabkin" &lt;max.rabkin@gmail.com&gt;<br>Cc: "haskell-cafe@haskell.org" &lt;haskell-cafe@haskell.org&gt;, "Lennart Augustsson" &lt;lennart.augustsson@gmail.com&gt;<br>Date: Saturday, July 24, 2010, 10:35 AM<br><br><div class="plainMail">Perhaps I'm being unclear again. All I was trying to say was that:<br>liftM2 (-) [0,1] [2,3] /= liftM2 (-) [2,3]
 [0,1]<br><br>-deech<br><br>On Sat, Jul 24, 2010 at 9:30 AM, Max Rabkin &lt;<a ymailto="mailto:max.rabkin@gmail.com" href="/mc/compose?to=max.rabkin@gmail.com">max.rabkin@gmail.com</a>&gt; wrote:<br>&gt; On Sat, Jul 24, 2010 at 4:08 PM, aditya siram &lt;<a ymailto="mailto:aditya.siram@gmail.com" href="/mc/compose?to=aditya.siram@gmail.com">aditya.siram@gmail.com</a>&gt; wrote:<br>&gt;&gt; I wouldn't-it was a bad example. My only point was that because of the<br>&gt;&gt; way (&gt;&gt;=) is implemented for lists the order of the arguments 'a' and<br>&gt;&gt; 'b' in 'liftM2 f a b' matters.<br>&gt;&gt;<br>&gt;&gt; -deech<br>&gt;<br>&gt; No, it's not. The type of liftM2 makes this clear:<br>&gt;<br>&gt; liftM2 :: (Monad m) =&gt; (a -&gt; b -&gt; r) -&gt; m a -&gt; m b -&gt; m r<br>&gt;<br>&gt; The arguments to the function *must* come in the right order, because<br>&gt; there is no way to match (a) with (m b) or (b) with (m a). Since<br>&gt; liftM2 is
 parametrically polymorphic in (a) and (b), it can't behave<br>&gt; differently in the case where (a = b).<br>&gt;<br>&gt; --Max<br>&gt;<br>_______________________________________________<br>Haskell-Cafe mailing list<br><a ymailto="mailto:Haskell-Cafe@haskell.org" href="/mc/compose?to=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></blockquote></td></tr></table><br>