changes to library interfaces (was Re: Data.List.join)

Ross Paterson ross at
Tue Oct 24 05:47:25 EDT 2006

On Mon, Oct 23, 2006 at 09:38:38PM +1000, Donald Bruce Stewart wrote:
> ross:
> > I don't care much about this particular case, but we really need a better
> > way of handling interface changes than this.  We don't want proposals to
> > rot, but changes to basic interfaces also need thorough consideration.
> > At present, unless a proposal meets with a chorus of approval, the
> > only way to get a decision is from SimonM or unilateral action by some
> > committer.  That needs to change, I think.
> Agreed.
> At least a method by which proposals get Trac tickets and then due
> consideration (though avoiding voting would be nice).
> Any suggestions?

I think the most important things are:

- the proposed change is expressed as a darcs patch that compiles,
  including Haddock documentation that compiles, and possibly tests
  if appropriate.
  (This ensures that there is something concrete to discuss.)

- the proposed change gets a ticket and a timescale for consideration.
  Active tickets are publicized, and silence during this period can be
  taken as consent.
  (The timescale is necessary to force and focus a discussion, and
  also to bound the effort required.)

- at the end of the discussion period, the proposer adds to the ticket
  a summary of the relevant parts of the discussion, the ticket is
  archived and, if consensus was achieved, the change is made.
  (The summary is needed for anyone wondering about the change later:
  it's not reasonable to point people at a 50-message thread.)

A deeply held disagreement at the end of the discussion period may
require some form of government (voting, dictatorship, etc), but I
think that will be fairly rare.

More information about the Libraries mailing list