The list type constructor ([] :: * -&gt; *) is a functor, and if you add the implementations of join/return (or just return and bind) those together make the monad. The value-level list [3,5,8] is just a list :)<br><br><div class="gmail_quote">
On Wed, Jan 27, 2010 at 1:30 PM, Andrew Coppin <span dir="ltr">&lt;<a href="mailto:andrewcoppin@btinternet.com">andrewcoppin@btinternet.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Here&#39;s one for you to ponder.<br>
<br>
7 is a number. 7 is an integer, and integers are numbers.<br>
<br>
7 is not a field. 7 is an element of [at least one] field, but 7 itself is not a field.<br>
<br>
7 is not a group. 7 is a member of the set of integers, but the set of integers is not a group either. The set of integers form a group when taken together with the addition operator. (And, actually, forms another, different, group when taken with the multiplication operator.)<br>

<br>
Now, here&#39;s the question: Is is correct to say that [3, 5, 8] is a monad? Is it correct to say that lists are a monad? Or would it be more correct to say that lists &quot;form&quot; a monad?<br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">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>
</blockquote></div><br>