
On Mon, 2007-28-05 at 10:35 +0100, Andrew Coppin wrote:
Most of the documents that describe these things begin with "suppose we have this extremely complicated and difficult to understand situation... now, we want to do X, but the type system won't let us." Which makes it seem like these extensions are only useful in extremely complicated and rare situations. The fact that my own programs hardly ever result in situations where I want to do X but the type system won't let me only reinforces this idea. Maybe it's just the kind of code I write...
I think this comes from the mathematical background of most people who
write papers about Haskell, personally. Math is probably the least
competently-taught subject on the planet. (History may share this
distinction. May.) There's a lot of purely-hypothetical situations
("suppose you'd want to map an enumeration of the set of all blah blah
blah blah to the set of blah blah blah") with no sense of motivation or
application provided. As a result to many (obviously not all!) it looks
more like random pen-scratchings with no practical use.
Which is a pity.
Because most of it is useful in practical ways. Even fields whose
researchers took pride in being "absolutely useless" are beginning to
show themselves as useful. But math being taught the way it is makes
this connection inobvious (to put it mildly) and thus mathematics as a
field gets none of the respect and interest it deserves.
Haskell's leading practitioners and cheerleaders tend to be
mathematicians first. There are some who write papers accessible to the
work-a-day programmer, but most do not and, as a result, it's often hard
to decode motivation for the language's features and extensions.
Now that's the bad news. The good news is that this is changing. Five
years ago, when I first looked at Haskell and gave up, there was almost
nothing available to teach the language that wasn't purest ivory-tower
hypothetical situations. The materials available detailing the language
really made it look like you had to be a multiple-Ph.D. in maths and
copyright law (that latter just because it's the only thing I can think
of more complicated than maths ;)) to be smart enough and well-educated
enough to use Haskell. This is no longer the case. Simon Peyton-Jones,
Don Stewart and a handful of other luminaries in the community (whose
names I've temporarily forgotten because I'm lousy with names) are
beginning to produce good, high-quality papers on obscure and difficult
topics that make these topics -- almost ordinary. Further, just in the
last year the nature of conversations in haskell-cafe has changed
dramatically. I'm seeing a lot more real-world, work-a-day programming
questions and answers these days than I did as little as a year ago.
So it's not all hopeless, Andrew (thankfully for obvious dullards like
me).
--
Michael T. Richter