[Haskell-beginners] WWAAA... I hate monads

Jason Dusek jason.dusek at gmail.com
Wed Apr 22 07:26:12 EDT 2009


2009/04/22 Daniel Carrera <daniel.carrera at theingots.org>:
> I hate monads.

  Yikes! How do you feel about functors?

> 1) I know what a type is, but not a "type constructor". I
> don't normally think of an Int or even a complex type as being
> "constructed" except in the sense of OOP which I know is not
> what the author means.

  Well, an object constructor takes values and makes a value. A
  type constructor takes types and makes a type. You've probably
  seen a few type constructors in your life, for example,
  `std::vector`, which makes vectors of type `std::vector<t>`.
  Likewise, `std::map` is a two argument type constructor.

> 2) Just *read* the paragraph... "a type constructor, a
> function that builds value of that type, and a function that
> combines values of that type with computations that produce
> values of that type to produce a computation of values of that
> type"   Ugh....

  I don't think you should take your first impression too
  seriously here. The notion of combining computations is really
  crucial to working with monads; you'll find it's pretty hard
  to get used to at first, no matter how it's presented.

--
Jason Dusek


More information about the Beginners mailing list