Class System current status
Manuel M T Chakravarty
chak at cse.unsw.edu.au
Sat May 13 12:22:04 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.
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.
> | -----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
> | 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
More information about the Haskell-prime