In the  <a href="http://greenokapi.net/blog/2009/05/07/is-currying-monadic/" rel="bookmark" title="Permanent Link to Is currying monadic?">Is currying monadic?</a> post the author says:<br><br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">
This is again a nested expression.  So I wondered if you could again &quot;flatten&quot; it with a monadic do block:

<code></code><pre>    let add3 = do<br>        a &lt;- get first parameter<br>        b &lt;- get second parameter<br>        c &lt;- get third parameter</pre></blockquote><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">
<pre><br>        return a+b+c<br></pre>OK, so I &quot;know&quot; that functions in Haskell (which uses currying for
functions as a general rule) are the &quot;Reader monad&quot;.  But I don&#39;t
understand it well enough to know if that means you can use Reader to
implement the above...

<p>
(I don&#39;t understand Reader at all in fact.  I must bang my head against
it again, but I find it very confusing - how the monad is represented,
what the functions are, and how they get magically applied.) <br></p></blockquote><p><br></p><p>Any idea what he is talking about?<br></p>Thanks<br><br>Daryoush<br>