FW: RE [Haskell-cafe] Monad Description For Imperative Programmer

Stuart Cook scook0 at gmail.com
Thu Aug 2 08:15:15 EDT 2007

On 8/2/07, Dan Piponi <dpiponi at gmail.com> wrote:
> I feel that talking about Monads without Kleisli arrows is like
> talking about category theory without arrows, or at least sets without
> functions. In each case, without the latter, the former is more or
> less useless.

The chapter on monads in Bird's "Introduction to Functional
Programming using Haskell" introduces an operator (<>) that's
equivalent to (>>>) on Kleisli arrows, without the intermediate
newtype. One nice property of this operator is that it turns "return"
into a genuine identity, rather than the weird pseudo-identity that it
forms with (>>=).

Sadly I don't actually own a copy of the book, so most of this is from memory.

> Also, I'm having a terminological difficulty that maybe someone can help with:
> [snip][What's a good word for an object of type IO Int?]

I tend to call it a "value in the [IO] monad". I don't claim to be a
canonical reference, though.


More information about the Haskell-Cafe mailing list