[Haskell-beginners] WWAAA... I hate monads
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.
More information about the Beginners