Class System current status
simonpj at microsoft.com
Fri May 12 12:05:25 EDT 2006
| 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.
| -----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
| | 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
| 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.)
More information about the Haskell-prime