<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">I'm not sure what you're trying to tell me, so let's try a specific case.<br><br><br>Here's the makeVerifier function that expects its function f to have a single arg, a pair (i,d):<br><br>makeVerifier :: ((Int,Int) -&gt; Int) -&gt; Int -&gt; (Int -&gt; Bool)<br>makeVerifier f m = divides m . foldl (+) 0 . map f . zip [1 .. ] . digits<br><br>And usage:<br>let checkCc = makeVerifier (\ (i d) -&gt; if odd i then d else if d &lt; 5 then 2*d else 2*d + 1) 10<br><br><br><br>And here's the old makeVerifier function that expects its function f to have two integer arguments, i &amp; d:<br><br>makeVerifier :: (Int -&gt; Int -&gt; Int) -&gt; Int -&gt; (Int -&gt; Bool)<br>makeVerifier f m = divides m . foldl (+) 0 . zipWith f [1 .. ] . digits<br><br>And usage:<br>let checkCc = makeVerifier (\ ....&nbsp;&nbsp;&nbsp; &lt;== Complete this&nbsp; )
 10<br><br><br>Michael<br><br>--- On <b>Sun, 4/12/09, Ross Mellgren <i>&lt;rmm-haskell@z.odi.ac&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Ross Mellgren &lt;rmm-haskell@z.odi.ac&gt;<br>Subject: Re: [Haskell-cafe] Functions that return functions<br>To: "michael rice" &lt;nowgate@yahoo.com&gt;<br>Cc: "Daniel Fischer" &lt;daniel.is.fischer@web.de&gt;, haskell-cafe@haskell.org<br>Date: Sunday, April 12, 2009, 9:23 PM<br><br><div id="yiv1278370358">Under the covers of syntax they only have one parameter, but you can write curried lambdas or functions easily:<div><br></div><div>\ a b -&gt; a + b</div><div><br></div><div>which is equivalent to</div><div><br></div><div>\ a -&gt; \ b -&gt; a + b</div><div><br></div><div>and also equivalent to the "normal" function syntax</div><div><br></div><div>f a b = a + b</div><div><br></div><div>or</div><div><br></div><div>f a = \ b -&gt;
 a + b</div><div><br></div><div>-Ross</div><div><br></div><div><div><div>On Apr 12, 2009, at 9:09 PM, michael rice wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none;" valign="top">My question was meant in the context of the makeVerifier function, which is passed a lambda expression. It's my understanding that Haskell lambda expressions can have only a single parameter, which is why I changed the function parameter to a pair, (i,d).<br><br>How would it be done otherwise?<br><br>Michael<br><br><br>--- On <b>Sun, 4/12/09, Daniel Fischer <i>&lt;<a rel="nofollow" ymailto="mailto:daniel.is.fischer@web.de" target="_blank"
 href="/mc/compose?to=daniel.is.fischer@web.de">daniel.is.fischer@web.de</a>&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Daniel Fischer &lt;<a rel="nofollow" ymailto="mailto:daniel.is.fischer@web.de" target="_blank" href="/mc/compose?to=daniel.is.fischer@web.de">daniel.is.fischer@web.de</a>&gt;<br>Subject: Re: [Haskell-cafe] Functions that return functions<br>To: "michael rice" &lt;<a rel="nofollow" ymailto="mailto:nowgate@yahoo.com" target="_blank" href="/mc/compose?to=nowgate@yahoo.com">nowgate@yahoo.com</a>&gt;<br>Cc: <a rel="nofollow" ymailto="mailto:haskell-cafe@haskell.org" target="_blank" href="/mc/compose?to=haskell-cafe@haskell.org">haskell-cafe@haskell.org</a><br>Date: Sunday, April 12, 2009, 7:20 PM<br><br><div class="plainMail">Am Montag 13 April 2009 01:09:22 schrieb michael rice:<br>&gt; Example please.<br>&gt;<br>&gt;
 Michael<br>&gt;<br><br>Curried:<br><br>f :: a -&gt; b -&gt; c<br><br>amenable to partial application.<br><br>Uncurried:<br><br>g :: (a,b) -&gt; c<br><br>not easy to apply partially.<br><br>The Prelude contains<br><br>curry :: ((a,b) -&gt; c) -&gt; (a -&gt; b -&gt; c)<br><br>uncurry :: (a -&gt; b -&gt; c) -&gt; ((a,b) -&gt; c)<br><br>to convert if needed.<br></div></blockquote></td></tr></tbody></table><br>       _______________________________________________<br>Haskell-Cafe mailing list<br><a rel="nofollow" ymailto="mailto:Haskell-Cafe@haskell.org" target="_blank" href="/mc/compose?to=Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>http://www.haskell.org/mailman/listinfo/haskell-cafe<br></blockquote></div><br></div></div></blockquote></td></tr></table><br>