<div class="gmail_quote">On Tue, May 19, 2009 at 6:14 PM, Michael P Mossey <span dir="ltr">&lt;<a href="mailto:mpm@alumni.caltech.edu">mpm@alumni.caltech.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I&#39;ve seen the following language used:<br>
- &quot;computations&quot;<br>
- &quot;actions&quot;<br>
- &quot;effects&quot;<br>
- &quot;context&quot; (For example, a functor is a context, and fmap applies a function to an object in that context without changing the context.)<br></blockquote><div><br></div><div>These are all often used to describe expressions of type &quot;m a&quot; for some monad m. Different ones are more or less accurate depending on the particular monad you&#39;re talking about, and depending on your personal preferred way of looking at it. The thing with monads is that what they abstract is hard to put succinctly outside of code. </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
One words that seem to come up in Haskell are &quot;algorithm&quot; and &quot;procedure.&quot;<br></blockquote><div><br></div><div>I&#39;ve not seen these used in Haskell. They sound distinctly imperative to me, for some reason. But, until you define the words connotatively, all I can say is how they sound to me.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
For example, a monad is sometimes called a &quot;computation&quot; or an &quot;effect&quot;, but I&#39;ve not seen it called an &quot;algorithm.&quot;<br>
<br>
Can someone elaborate on these terms and why they are used? What is the difference between a computation and an algorithm? The word &quot;effect&quot; has a fairly obvious meaning (like an IO side-effect) but I suspect there&#39;s more to it.<br>

<br>
Why is the word &quot;context&quot; important, and when it is more appropriate than &quot;container&quot;?<br></blockquote><div><br></div><div>I would put container in with the list at the beginning: it&#39;s another way that can be more or less appropriate for monadic values, depending on the monad and your perspective.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
thanks,<br>
Mike<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
</blockquote></div><br>