Application letters at the Haskell workshop: suggestion

brk@jenkon.com brk@jenkon.com
Wed, 12 Sep 2001 09:35:09 -0700


This is an area of grave concern for me. I am still quite new to Haskell, so
perhaps I should wait until others have spoken, but I'll go ahead anyway. I
certainly don't mean to offend anyone, so please bear with me.

Speaking as an 'industrial' programmer who gave a 30-minute application
presentation at the International Python Conference earlier this year, I
have to say that I wouldn't even think of submitting a paper to a Haskell
workshop. Why? Because the feel of Haskell in general and Haskell
conferences in particular is relentlessly academic, and I doubt I'd have
anything to say that would be appreciated in such a context. 

*This does not mean* that I'm dismissing Haskell as "only" an academic
exercise, quite the contrary. I think Haskell is a beautiful language in
many ways, and a useful one. It is sometimes difficult for me to formulate
problems in a purely functional way as opposed to a mixed style like Ocaml
or Dylan, but in general once I've succeeded in doing so I find the program
that I've written more elegant than the program I would have written in
another language.

I think I speak for the majority of 'industrial' programmers when I say
Haskell is a very difficult language to approach. I believe a great deal of
this difficulty stems from lack of documentation. It is common practice in
the Haskell community to write some code, write a paper, and consider one's
work done. While this is entirely reasonable for research projects, it is
not reasonable to later wonder why more people aren't making use of that
library. This applies not only to libraries, but also to experimental
language features. If anyone needs examples, I've plenty to provide, but
I'll not include them here because I don't want anyone to think I'm
"blaming" them for this situation.

This approach is entirely suitable for the majority of Haskell users today,
who seem to me to be very bright people, mostly in academia, though there
seem to be a few compiler writers and so on. However, it won't do if people
want Haskell to have broader acceptance. Haskell concepts can be difficult
for imperative programmers to grasp at first, but the larger issue is that
people have to work *hard* to find the information they need. People without
a deep and abiding interest in programming languages and their design (such
as myself) will not go through the trouble to become familiar with lambda
calculus, denotational semantics, and category theory just to learn a
language they're not likely to get paid for anytime soon. But remember, the
primary documentation of Haskell is currently research papers, which are
largely composed of the aforementioned mathematics.

The lack of *coherent* documentation describing everything you need to know
to write a significant application in Haskell is breathtaking. I have a
stack of Haskell papers more than six inches thick at my house, and I do
have a good book, but collectively they're less useful to a beginner in the
language than, say O'Reilly's _Learning Python_, especially when followed up
with _Programming Python_. I'm actually thinking about keeping notes about
my learning process so that I could eventually write such a book for
Haskell.

So I think Haskell is unlikely (in its current state) to attract many people
who would develop applications that would be interesting to the people who
go to Haskell workshops. I for one would like to see that situation change.
I would suggest (if you couldn't guess :-)) that improving documentation and
making the documentation more accessible to people with less mathematical
background would be excellent places to start. After that's taken care of,
(IMHO) a standard (and *maintained*) cross-platform GUI, standard (and
*maintained*) database access facilities, and strong Unicode support would
more than pay for themselves in terms of increased interest in the language.
As an aside, very few contributed packages will build on windows machines
(or rely on antiquated versions of Hugs or something), which also doesn't
help acceptance.

Please take these comments in the spirit they're offered, I'm only trying to
help Haskell achieve the status I think it deserves.

Bryn


> -----Original Message-----
> From:	S.J.Thompson@ukc.ac.uk [SMTP:S.J.Thompson@ukc.ac.uk]
> Sent:	Wednesday, September 12, 2001 2:04 AM
> To:	haskell@haskell.org
> Subject:	Application letters at the Haskell workshop: suggestion
> 
> 
> A thought to dicscuss for next year's Haskell
> workshop. This is the second year running that 
> there have been no submissions accepted in the
> `application letters' category for the Haskell
> workshop. It seems that this comes from the
> fact that these are not getting the same grades
> as submissions focussed on more theoretical aspects
> of Haskell and functional programming. That's a shame,
> since it means that information of value to many users
> of the language are not going into the public record.
> 
> A suggestion: why not have a poster session at the next
> workshop? This is used at many conferences for shorter 
> papers, work in progress, implementation aspects and the like.
> The advantage of this over ten minute, ad hoc, talks is that
> the posters (or poster abstracts) form part of the formal 
> proceedings and are thus available to the community for
> reference. This is, of course, particularly valuable in the
> case of applications, when it's useful to find out what one can
> re-use, as well as seeing what might be problematic about
> existing tools and libraries.
> 
> How would a poster session work? People submit abstracts, 
> and then bring posters (plus laptops for demos etc. if they
> wish) to the meeting. These are displayed over tea/coffee breaks,
> or indeed a separate time could be devoted to them.
> 
> I'd be interested to hear what others think; maybe there's a
> better way of getting the application-oriented material into
> the workshop?
> 
> Simon Thompson
> 
> 
> _______________________________________________
> Haskell mailing list
> Haskell@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell