Class System current status

Manuel M T Chakravarty chak at cse.unsw.edu.au
Sat May 13 12:22:04 EDT 2006


Simon Peyton-Jones:
> | So it looks like we're stuck at pretty much the same proposals for the
> | class system.
> ...
> | More generally, our discussion about the class system seems to be
> | stalled. How should we to come to a decision?
> 
> I summarise my view of the state of play in the message below, which I
> see I did not circulate to all of haskell-prime at the time.
> 
> My suggestion is this:
> 
> * Specify MPTCs in the main language
> 
> * Specify FDs in an Appendix (with some reasonably conservative
> 	interpretation of FDs). 
> 
> * A Haskell' implementation should implement the Appendix, and
> 	programmers can write programs against it.  But
> 	we are advertising specifically that we aren't sure, one way
> 	or the other, whether FDs will stay in the language for ever
> 
> I think it's probably too early even to have an Appendix describing ATs.
> I'd be surprised if the experience of implementing and using them
> doesn't have impact on their design.
> 
> The other alternative I can see is to delay the whole process until we
> know more (a year or two), but I can see that is unattractive.

A variation on this proposal is that we actually delay issuing the
appendix.  More precisely,

* Specify MPTCs in the main language.

* Finalise Haskell' without an FD/AT appendix.

* Take our time to find out exactly how we want to do type level 
  programming (with FDs, or ATs, or both).  Once we know, we add an 
  appendix on type-level programming.

This moves the MPTC dilemma out of the critical path for Haskell' as a
whole, but avoids that we have to rush the FD/AT issue.

Manuel 

> | -----Original Message-----
> | From: Simon Peyton-Jones
> | Sent: 04 May 2006 14:36
> | To: chak at cse.unsw.edu.au
> | Cc: Martin Sulzmann; Stephanie Weirich; Ross Paterson; isaac jones;
> Ravi Nanavati; Andres Loeh;
> | John Launchbury; Simon Peyton-Jones
> | Subject: RE: Class System current status
> | 
> | | I don't think I ever argued that we put ATs in Haskell'.  I am
> arguing
> | | that we should not put FDs in.
> | 
> | I think Haskell' MPTC situation is clarifying in my mind as follows
> | 
> | 1) We definitely want MPTCs
> | 
> | 2) MPTCs without either FDs or ATs or CHRs are not very useful.
> | 
> | 3) ATs are shaping up to be a better *programming* notation than FDs,
> in the same way that FDs are
> | better than CHRs.  This isn't an issue of expressiveness; it concerns
> ease of inference and ease of
> | programming.
> | 
> | 4) However, we have lots of experience of programming with, and
> implementing FDs; but virtually
> | none about ATs.  The situation might be very different in a year's
> time, when we have an AT
> | implementation, and some experience of use.
> | 
> | 
> | I take (3) to be somewhat controversial.  We have little evidence to
> go on, so far.  Nevertheless I'd be
> | interested to know if (as of today) anyone would positively prefer a
> language of FDs compared to one
> | with ATs.
> | 
> | 
> | All this makes me think that it will be hard to reach a satisfying
> conclusion in a few months.  Perhaps
> | this isn't the moment to force a conclusion.  An alternative might be
> to punt the whole issue into a
> | (longer-timescale) Blessed Appendix.  (I don't think that the rest of
> the language depends much on
> | this, although certain libraries do.)
> | 
> | Simon
> _______________________________________________
> Haskell-prime mailing list
> Haskell-prime at haskell.org
> http://www.haskell.org//mailman/listinfo/haskell-prime



More information about the Haskell-prime mailing list