<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">OK, fmap2 works, but not fmap3. What am I not understanding?<br><br>Michael<br><br>import Control.Applicative<br><br>-- f :: (a -&gt; b -&gt; c)<br>-- fmap :: Functor f =&gt; (d -&gt; e) -&gt; f d -&gt; f e<br><br>sumsqr :: Int -&gt; Int -&gt; Int<br>sumsqr i j = i*i+j*j<br><br>-- fmap :: Functor f =&gt; f a -&gt; f (b -&gt; c)&nbsp;&nbsp;&nbsp; -- Identify d with a, and e with (b -&gt; c)<br><br><br>fmap2 f a b = f `fmap` a &lt;*&gt; b<br>fmap3 f a b c = f `fmap` a &lt;*&gt; b &lt;*&gt; c<br>fmap4 f a b c d = f `fmap` a &lt;*&gt; b &lt;*&gt; c &lt;*&gt; d<br><br><br>-- fmap2 f a b = f &lt;$&gt; a &lt;*&gt; b<br>-- fmap3 f a b c = f &lt;$&gt; a &lt;*&gt; b &lt;*&gt; c<br>-- fmap4 f a b c d = f &lt;$&gt; a &lt;*&gt; b &lt;*&gt; c &lt;*&gt; d<br><br><br>*Main&gt; fmap2 sumsqr (Just 3) (Just 4)<br>Just 25<br>*Main&gt; fmap3 sumsqr (Just 3) (Just 4) (Just
 5)<br><br>&lt;interactive&gt;:1:6:<br>&nbsp;&nbsp;&nbsp; Couldn't match expected type `a2 -&gt; b' against inferred type `Int'<br>&nbsp;&nbsp;&nbsp; In the first argument of `fmap3', namely `sumsqr'<br>&nbsp;&nbsp;&nbsp; In the expression: fmap3 sumsqr (Just 3) (Just 4) (Just 5)<br>&nbsp;&nbsp;&nbsp; In the definition of `it':<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; it = fmap3 sumsqr (Just 3) (Just 4) (Just 5)<br>*Main&gt; <br><br><br>--- On <b>Thu, 8/26/10, Ivan Lazar Miljenovic <i>&lt;ivan.miljenovic@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: Ivan Lazar Miljenovic &lt;ivan.miljenovic@gmail.com&gt;<br>Subject: Re: [Haskell-cafe] On to applicative<br>To: "michael rice" &lt;nowgate@yahoo.com&gt;<br>Cc: haskell-cafe@haskell.org<br>Date: Thursday, August 26, 2010, 2:33 AM<br><br><div class="plainMail">On 26 August 2010 16:29, michael rice &lt;<a
 ymailto="mailto:nowgate@yahoo.com" href="/mc/compose?to=nowgate@yahoo.com">nowgate@yahoo.com</a>&gt; wrote:<br>&gt;<br>&gt; Can you recommend an example that works?<br><br>An example of what?<br><br>The definitions of fmap2, etc. on that page look like they're correct.<br><br>--<br>Ivan Lazar Miljenovic<br><a ymailto="mailto:Ivan.Miljenovic@gmail.com" href="/mc/compose?to=Ivan.Miljenovic@gmail.com">Ivan.Miljenovic@gmail.com</a><br>IvanMiljenovic.wordpress.com<br></div></blockquote></td></tr></table><br>