Haskell Communities Survey - Call for Contacts

C.Reinke C.Reinke@ukc.ac.uk
Wed, 19 Sep 2001 01:23:57 +0100

Dear fellow Haskellers,

the recent (and eternal) questions about GUIs and future Haskell 
developments are closely related to a general problem: trying to 
keep up to date with what is going on within the Haskell community 
as a whole while the breadth of interests in that community keeps 

For the sin of pointing out this problem at this year's Haskell
workshop, I was volunteered to try and organise some way of getting
summaries of what the various (sub-)communities are working on and
posting the results to the main Haskell list as well as on haskell.org.

Below, you'll find (I) a summary of the problem, (II) my slightly
revised suggestion on what to do about it, and (III) a preliminary
grouping of Haskell communities by topic (some of which do not have
their own mailing lists right now, or are really dispersed over several
more specific lists).

What I need from you now is 

  (a) a look at the list of topics/communities at the end of this
      email -- it is meant as a starting point, likely to be
      incomplete, so if anyone feels left out, if you can confirm
      some of the topics as dead, or anything else is wrong, 
      let me know.

  (b) a contact person in each of the communities, willing to put
      together a brief, representative summary of that community's work
      and interests (see part II below for what would be useful).

      Being brief, the individual reports won't require a lot of work
      for someone actively interested in one of the topics. In fact,
      they might have to be shorter than you would like them to be -
      feel free to include pointers to more extensive documentation.

The plan is to get this set up over the next weeks, and to give the
contact persons a little bit of time to get feedback on their status
reports from their communities. As soon as the individual reports start
flowing into my mailbox, I'll try to edit them together.
Optimistically, we could have the whole report ready for the main
Haskell list before October is gone (famous last words..),
realistically, we'll wait and see what happens.

Ultimately, the aim is to have two yearly updates of the status report,
covering all active Haskell communities (sorted by topic); one update in
time for the yearly Haskell workshops and one in between. The first go
doesn't have to cover everything, we can add or remove topics and
fine-tune the level of detail once we get going. The report will

  - help to keep experienced Haskellers updated
  - give newcomers some orientation about current activities
  - help communities to attract collaborators

I'll step back now to make room for the volunteers;-)


--------------------------------------------------- THE PROBLEM:

  1. The Haskell community continues to grow in size and in the
     variety of interests. 

  [this is good:-]

  2. Sub-communities have formed, often with their own mailing lists,
     to work on specific issues or just to provide foci for specialist

  [this is necessary to get some work done]

  3. Both specialists and the "just a Haskell user" find it difficult
     to keep track of what is going on behind the scenes of the main
     list. In fact, some folks have opted out of much of the main list
     (the discussions were factored into the "haskell-cafe" list) and 
     only follow the announcements part (the "haskell" list).

     Few people can afford spending their days reading through all of
     the dozens of Haskell-related mailing lists (this is not a joke:
     you'll find about a dozen "real" lists plus a similar number of
     cvs-watchlists hosted at haskell.org alone, and that isn't
     counting the lists hosted elsewhere or the communities that use
     small meetings to coordinate their work).

  [this is bad, and we can try to do something about it]

--------------------------------------------------- THE SUGGESTION:

My initial proposal at the workshop was to collect summaries from
contacts on the various mailing lists every six months or so and to
edit them for the main Haskell list and for a page on haskell.org.

However, having combed through the list of mailing lists I am aware of
so far, I am more and more convinced that the current proliferation of
very narrowly focussed and often shortlived (in terms of activity)
mailing lists is part of the problem, not part of the solution. Not
to mention that certain important topics, such as GUIs do not even
have their own mailing list yet..

My current suggestion is to come up with a broader topical grouping of
Haskell communities (see below), and then to solicit brief summaries
from contacts in those communities every six months, taking the yearly
Haskell workshop as one of the reference points:

  - twice a year, everyone gets a snapshot of what's happening with
    Haskell. In the meantime, the communities can get on with their
    interests without having to bother with summaries too often (it is
    always difficult to find volunteers..).

  - six months is enough time to make some real progress and have
    something worth summarizing. After half a year, the summaries
    definitely need to be brought up to date, if only to state which
    groups have dissolved and which are still active.

  - the summaries should be brief (rough idea: a paragraph each for
    looking back and for looking ahead, plus pointers to current
    documents or other deliverables), as they will be collated into
    overviews of the Haskell community as a whole, but could contain
    references to more extensive documents or other deliveries. As 
    a side-effect, this cuts down the work for the contact persons.

  - having status reports grouped by topic should give a more
    useful and homogeneous picture; it might also encourage people
    on related mailing lists to cooperate more closely, or people with
    related interests to set up a mailing list. Where this is perceived
    necessary, a status report on any given area can be amended by
    additional paragraphs covering individual mailing lists or projects
    in that area.

  - keeping the collected summaries on a page at haskell.org should
    give both newcomers and experienced Haskellers a rough idea of what
    is going on, and which sub-communities they might want to join.

----------------------------------------------- What's in a summary?

That is really up to you: what do you think Haskellers in general
should know about what is going on in your part of the field? Whom
would you like to join your efforts? Think of it as an executive
summary with pointers to more details. Here is a rough outline:

  + major topics and results since the last report (~1 paragraph)
  + current hot topics                             (some keywords)
  + major goals for the next six months            (~1 paragraph)
  + pointers to material for further reading (group charter, group home
    page, how to join, mailing list archives, specifications and drafts,
    implementations, meetings, minutes,..)

So a minimal report is 2-3 paragraphs, plus pointers. If you like,
add extra paragraphs for subtopics in your area. That's it!

---------------------------------------------- TOPICS/COMMUNITIES:

Below, the major "communities" (as defined by common areas of interest)
are grouped into a small number of top-level categories. Most of the
communities are themselves spread over several mailing lists or
projects, and some topics appear in several categories, with different
emphasis (e.g., FFI development depends on a small set of language 
extensions, on top of which foreign function interfaces can be built
as a combination of tools and libraries; also, applications may center
around a set of libraries; language extensions are more interesting
if implemented, etc.).

It would be easiest for me to get status reports for the major
groupings, but that might not be feasible (apart from Haskell
implementers, I hope; applications, someone?). So: 

  ** I need contact persons for each of the topics **

who are willing to produce a summary report for their own community,
with additional paragraphs per sub-group as appropriate (of course, if
any of those sub-groups would like to present their own, separate
summary instead, feel free to suggest a separate contact person;-). It
is quite likely that some of your own topics/communities are not yet on
the list -- let me know about such omissions.

|what follows is an outline; a slightly more detailed list, with
|links, can currently be found at:
|   http://www.ukc.ac.uk/people/staff/cr3/tmp/Communities/
|Note the "tmp" - this list should move to haskell.org later.

Haskell Communities, by topics

Haskell implementers
  : irregular meetings, visits, email, separate mailing-lists

  - what's up with each implementation (ghc,nhc,hugs,hbc???)?
  - what's in store across implementations (implementer's meetings)?

Language and implementation extensions
  : separate sub-communities

  + FFI               foreign function interface for Haskell
  + Libraries         hierarchical module namespaces for Haskell
  + Non-sequential
    Haskell           concurrent, parallel, and distributed Haskell
  + Type systems      extensions and variants of all kinds and types
  + Generic Haskell   generic programming for Haskell 
                      (Generic Haskell, Polyp, Strafunski, generalised
                       deriving, Drift, ..)
  + O'Haskell         objects and concurrency for Haskell
  + Meta Haskell      Metaprogramming support ala Meta ML
  + Haskell modules   (re-)emerging interest in a lightweight redesign
  + Arrows            towards built-in support for 

  : current core priorities are high-level FFI, GUIs, and 
    overall library reorganisation (using hierachical namespaces),

  + Libraries organisation and collection of libraries (hslibs, nofib, ..)
  + FFI (Foreign, CForeign, ..)
  + GUIs (Gtkhs, iHaskell, FranTk, Fudgets, Haggis, Fruit,..)
    [no separate forum for GUIs yet??]
  + computer algebra

  : widely dispersed, small and sometimes short-lived communities,
    as many tools are still implementation-specific, most of the
    discussion is currently mixed into the main implementation lists 
    [a combined Haskell-Tools forum might be more appropriate; many
     tools share similar problems, such as program analysis, etc.;
     tools should be visible independent of the implementations they
     depend on, and indeed portable tools would seem to be an important

  + FFI (greencard, hdirect, c2hs)
  + Debuggers [dormant? probably too limited in scope?]
  + Development tools (tracing, profiling, pre-processors, editor modes,
    IDEs, testing, ..)
  + Documentation/Publishing (automated documentation generation tools,
    source code browsers, literate programming; HaskellDoc, HDoc, 
    Habitat, ..)

  : no separate forum yet, but might deserve one separate from the
    general discussions list?

  + Haskell for teaching other topics, teaching haskell
  + stock markets, computer algebra, numerical algorithms, hardware,..
  + FRP functional reactive programming [list at yale, dormant?]
    (robotics, vision, animation, stage lightning, ..)