[Hs-Generics] Meeting at Haskell Workshop
Johan Jeuring
johanj at cs.uu.nl
Mon Sep 25 06:17:11 EDT 2006
Dear all,
We've had a meeting discussing the next steps in developing a Common
Library for Generic Programming at the Haskell Workshop. This email
summarizes the main points. Furthermore, I have added some
observations of my own, marked with [JJ:].
The main requirements for the library are ease of use and stability.
[JJ: by stability we mean: we'll use the same API for a longer
period; ease of use might mean different things to different people.
I suppose we'll make the meaning of ease of use more clear while we go.]
Furthermore, the library should be based on Haskell 98, + maybe
commonly accepted extensions that we expect will end up in Haskell'.
But we should be careful with using extensions for the Common
library, the `purer' the better, from a standard point of view. We
might take a levelled approach here: offer a library for Haskell 98,
a library for Haskell' (if we know in time what that's going to be),
and a library for Haskell'+addenda (if those are going to come).
We want to start with finding out the weaknesses and strengths of the
various approaches. Meanwhile we want to construct a set of examples
with which we can illustrate the different characteristics of the
approaches (gsize and functorial map were mentioned). [JJ: Andres
Loeh, Ralf Hinze and I have written a paper about Comparing
approaches to generic programming in Haskell, see http://www.cs.uu.nl/
research/techreps/UU-CS-2006-022.html. It does not discuss several of
the candidate libraries. But it does give a nr of examples used for
comparing the approaches, namely encode/decode, eq , functorial map,
show, and update. Each of the examples illustrates different
characteristics of generic programming. This might be a starting
point for the examples.] Furthermore, we would also like to develop a
benchmark (examples + desired input/output behaviour) which can be
used to (also) benchmark performance. Hopefully we can extract
several generic programming characteristics from the examples.
It would be good to extract a document from the email discussion, in
which we describe the comparison of the different approaches, and
later the proposal for a Common library. Bruno Oliveira expressed an
interest in helping, Johan is also willing to invest, and maybe
others will want to join in as well. [JJ: I suppose we should set up
a darcs or svn project for the document/paper?] [JJ: it might be nice
to try to condense the final results in a research paper, a la Siek
et al who compared generics a couple of years ago.]
The next step is thus a discussion of the advantages and
disadvantages of the different approaches. We want to have the
discussion linearly through the approaches, focussing on one approach
at a time (but of course other approaches may appear in the
discussion as well). [JJ: what order should we take here?
Chronological? That might make it a bit easier?
- Light-weight Generics and Dynamics
- SYB (including the Revolutions stuff?)
- Generics for the Masses
- Generics as a library
- Smash your Boilerplate
- RepLib
- Extensible superclasses (WGP'06)
- Almost compositional functions
Did I include all proposals here?
I think two weeks per proposal might be enough, on avarage? This
would imply we are ready with the discussions by the beginning of
next year. I'm on holidays for a couple of weeks in October, so I'll
have a bit of a false start, but I suppose we should try to not let
us distract by the absence of some of the people in the discussion.
Of course, it is always possible to contribute about a particular
method even if its assigned time slot has passed.]
I propose to start the discussion next week, October 2, with Light-
weight generic and dynamics, and from then on take the next paper on
the list after two weeks.
I'll also announce the initiative on the Haskell, generic-haskell,
and dgp mailing lists this week.
All the best,
Johan
More information about the Generics
mailing list