[Haskell-cafe] Haskell & monads for newbies
Andrew Coppin
andrewcoppin at btinternet.com
Sat Jul 14 14:27:09 EDT 2007
Alexis Hazell wrote:
> On Saturday 14 July 2007 05:21, Andrew Coppin wrote:
>
>
>> Still, while the concept is simple, it's hard to sum up in just a few
>> words what a monad "is". (Especially given that Haskell has so many
>> different ones - and they seem superficially to bear no resemblence to
>> each other.)
>>
>
> Well, how about this as a starting point (from a post i wrote in my blog):
>
> "[In Haskell,] a monad simply seems to be a computational environment in which
> one can specify that certain types and methods of computation be performed,
> and in which the three monad laws are expected to hold."
>
> What do people think?
Hmm... it doesn't leave me with either a strong sense of "oh, that
sounds simple" or "oh, I understand what that means". I'm only one guy
of course...
> With regards to the last phrase, i seem to recall that
> there are monads which nevertheless actually /don't/ follow all three monad
> laws?
>
That is my recollection also. (Don't ask me *which* monads, mind you...)
In the case in point, the law breakage never the less matches
"intuition"; personally, I ignore the monad laws on the basis that if
you're doing something "sane", the laws will automatically hold anyway.
(But maybe I'm just a renegade?)
More information about the Haskell-Cafe
mailing list