
The list type constructor ([] :: * -> *) 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 :)
On Wed, Jan 27, 2010 at 1:30 PM, Andrew Coppin
Here's one for you to ponder.
7 is a number. 7 is an integer, and integers are numbers.
7 is not a field. 7 is an element of [at least one] field, but 7 itself is not a field.
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.)
Now, here'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 "form" a monad?
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe