[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