I'd like to make a few comments about the recent
discussion about Sergey's basAlgProp and related issues.

The Haskell committee
~~~~~~~~~~~~~~~~~~~~~~
People often mention 'the Haskell committee'.  (Jan Brosius
sent a message today asking how to write to this shadowy body.)

        It may not be well known that
        there *is* no Haskell committee!

There was a Haskell98 committee, but its work is done.  At some
point in the future there may well be a Haskell-2 committee, but
it doesn't exist yet.

So no one should feel hurt about lack of feedback from this
august body.  



Does the absence of a Haskell committee mean that Haskell 
cannot make progress?  A thousand times no!  There are lots of
things one can do.  They split into two basic kinds of thing


Libraries
~~~~~~~~~
You can develop and put forth a Haskell library.   You can
distribute it in various ways:

  * From your own web page
  * You can ask John Peterson to put a link on the
        haskell.org Tools and Libraries page
  * You can offer it for inclusion in hslibs/, an evolving
        collection of libraries that are distributed with
        GHC and Hugs

What makes people use a library?  First, it does something
they want.  But it helps a lot if they feel that there is a 
consensus that it's a good design, and one that is reasonably
stable.

Language
~~~~~~~~
You may propose a change to the language.  This is harder, because if
you want to run any programs that use the change, you have to persuade
the implementors to make the change (unless you care to do it
yourself).  Implementors (e.g. me) are reluctant to make changes or
extensions that

        a) break existing programs (very very reluctant)
        b) take a lot of work      (just reluctant)

What persuades us?  One big thing is a consensus of opinion about
the design and desirability of a particular extension.


Consensus
~~~~~~~~~
In the absence of a committee, I believe that the key thing, is to 

                form a consensus

For example, Sergey should be congratulated and thanked for
(a) producing his DoCon library, and (b) abstracting it to
a proposal (basAlgProp).  But for it to become more than Sergey's 
baby (an outcome he desires), the people who are interested
in improving Haskell's type structure for mathematical applications
need to get together and evolve a design that they can all sign up
to.

In my experience, the process of evolving a consensus 
        takes a lot of discussion
        involves a genuine willingness to compromise
        results in a good design
        but a design that is somewhat less ambitious than
                the best dreams of any individual


Suggestion
~~~~~~~~~~
If there is a group of people who want to develop
a better mathematical type structure for Haskell, we should
make a mailing list ([EMAIL PROTECTED]?) so they can talk to
each other without the whole Haskell list having to listen in.

[Incidentally, I'm quite unclear whether basAlgProp is a
language proposal or a library proposal.  It would be 
helpful for that to be made clear in the outcome of
such a working group.]

I don't know whether there are enough people who would
want to join such a group, and I'm certainly not volunteering
to organise it (!).  I'm just suggesting that this is the
process that is likely to be most productive.  And if a mailing
list would be useful, Simon Marlow stands ready to set it up
(I checked).

Simon

Reply via email to