[Haskell-cafe] IO is a bad example for Monads

Claus Reinke claus.reinke at talk21.com
Mon Dec 10 21:18:21 EST 2007

> Maybe hardened Haskell programmers don't notice these things, but
> there's a wall that goes up when Haskell is presented to
> non-functional programmers. There are significant barriers for them to
> cross (some of them imaginary): there's the infamous type system,
> there's the mystique around monads, there's the fear that laziness can
> impact performance, the general fear that many ordinary programmers
> have about recursion, and so on. Giving people even the slightest
> reason to think that there's something weird about opening files or
> printing a result is just another brick in that wall, and it's
> probably the biggest brick of all.

this discussion could fall off the cliff at both ends. as far as i can tell,
the problem is that with the haskell community so big, subcommunities
only have different needs, different tools, different ways of thinking.
and even if some of the subcommunities live and work at the cutting
edge and expect everyone to follow, that won't necessarily happen
anytime soon.

one one side are the rocket engineers who feel genuinely displeased 
if people keep trying to sell horseless carriages as the best form of 
transport. and they are right, in a way: not only is this view rather 
limiting, but it keeps people form seeing not only that rockets exist, 
but that there are places where horseless carriages cannot take us,
that we have actually been to the moon using rockets, a very long 
time ago, and that there are other places, and other technologies
that might take us there. these people see "past" technology 
promoted everywhere at the expense of support for and interest 
in their own or similar advanced work.

on the other side are the people who need to get from A to B, and
are used to the tools of the horse&carriage industry. they feel
genuinely unsure about those horseless carriage things, and they
tend to lose it completely if all the manuals and sales brochures
talk about different types of "automobiles", with not a word being
said about horses and carriages. that talk about rocket engines
goes right over their head, but that doesn't worry them as they 
don't expect to have to get to the moon anytime soon.

of course, there is that question of satellites, which turn out to
be awfully useful even if you don't otherwise want to leave the
earth, and which are a real pain to put in place with carriages,
horseless or otherwise.


More information about the Haskell-Cafe mailing list