Application letters at the Haskell workshop: suggestion

brk@jenkon.com brk@jenkon.com
Wed, 12 Sep 2001 18:19:31 -0700


> 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.
	[Bryn Keller]  
	Thanks very much, I was hoping my comments would be taken
constructively.

> > 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/)
	[Bryn Keller]  
	Very true.

	Thanks for the pointer, I hadn't realized that the proceedings of
those conferences were actually available as books from Amazon and so on. I
may have missed it, but I don't think there's anything on the Haskell
Bookshelf page that suggests they are... I count four links related to
Advanced Functional Programming, of which the first two are broken, and the
second two take you to registration sites.

	There are three (the 1st, 2nd, and 3d annual, natch) different
proceedings available from Amazon. At $52 - $66.95, which should I start
with? Granted I expect to pay around $50 for computer books, but I'd like to
have some sense of what I'm getting.

	Also, do these books have good coverage of things like existential
types, functional dependencies, other experimental-but-apparently-crucial
features that are hard to find documentation for?

	Are they edited into a coherent whole, so that the books is greater
than the sum of its papers?


> 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:
	[Bryn Keller]  
	Fair enough. :-)

> 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?
	[Bryn Keller]  
	IPC is basically _the_ Python conference. Python is still a small
enough developer community that basically all things Python are discussed
there. There is some Python presence and some talks at Open Source and Linux
conferences, but basically IPC is it. Since it is a general sort of
conference, but Python I'd guess that users and library developers had about
even representation (or possibly a majority of library developers), and the
minority were compiler implementers. I believe attendance was in the
neighborhood of 300. I'd say my intended audience was primarily application
developers.

> 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]
	[Bryn Keller]  
	The point of the paper was to demonstrate the use of Python for an
ambitious and reasonably large-scale project. Essentially we developed a
thin client business application, an GUI-builder IDE, and a new extremely
portable UI toolkit with excellent internationalization support. The main
client application and library runs about 35,000 lines of code, and the
generated code for the screens (over 200 of them) easily exceeds 100,000
lines. The main points were to 1) demonstrate that Python is actually
suitable for use in a project of this size so others can use it as a data
point when speaking to their managers, 2) explain some of the pitfalls we
encountered so that others might avoid them, and 3) discuss the
architectural considerations that went into designing such a system from
scratch. I also made a few suggestions for tools and language improvements,
but they were not by any means the main focus.

> 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?
> 
	[Bryn Keller]  
	I think this is mostly answered above as you suspected, but I should
add that the papers that were presented (along with the lightning talks, and
posters) covered quite a gamut. There were extensive discussions of, e.g.,
Stackless Python (a version of Python with first-class continuations), WAD
(an extension module that traps C segfaults and whatnot and converts them to
Python exceptions), the new compiler interface, and many, many more. The
conference site is http://www.python9.org, if you're interested. I attended
with a junior colleague who had been working with Python for about 6 months
and he said he got a lot out of it. I also got a lot out of it, though we
generally went to different sessions.
> -- 
> Alastair Reid        reid@cs.utah.edu        http://www.cs.utah.edu/~reid/