RE: Application letters at the Haskell workshop: suggestion
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
I think there's a lot of truth in all you said in your message and I make the following comment merely as a point of information.
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.
I think the Advanced Functional Programming books (which are proceedings of the advanced functional programming summer schools) are great for explaining some of the tricks/idioms required to use Haskell effectively for larger systems. But there's still the problem of knowing that these are worth seeking out (merely listing them in amongst 100 other books, articles and papers isn't enough) and when you should read them (once you've mastered Bird and Wadler (ahem, Richard Bird's "Introduction to Functional Programming") or some similar book) or even of knowing where they are listed (2/3 of the way down the Haskell Bookshelf page: http://haskell.org/bookshelf/) I also have a question:
Speaking as an 'industrial' programmer who gave a 30-minute application presentation at the International Python Conference earlier this year,
I think you'll need to educate us as to what kind of conference this is, what kind of paper it was, etc. In particular: 1) Who is in the audience? Is it other python users or is it python library developers or is it python compiler writers/porters? And if all three, then who make up the bulk of the audience, who were you primarily directing yoru talk at? 2) What was the point of your paper? To suggest improvements in the language or libraries? To suggest a need for development tools? To suggest a neat coding trick? To describe some useful tool or library that python users might find useful when writing python? To describe some useful application that people might find useful for something other than writing python? To show that python is useful for some new application domain? To add to a body of concrete examples of people doing something useful with python? Other [the fact that I can't think of other points reflects my lack of imagination and narrow focus not anything else] 3) [this is partly covered by the above] What did you want to achieve in writing the paper and what did people at the conference or reading the proceedings hope to learn? -- Alastair Reid reid@cs.utah.edu http://www.cs.utah.edu/~reid/
participants (2)
-
Alastair David Reid -
brk@jenkon.com