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: [EMAIL PROTECTED] > | 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 > [email protected] > http://www.haskell.org//mailman/listinfo/haskell-prime _______________________________________________ Haskell-prime mailing list [email protected] http://www.haskell.org//mailman/listinfo/haskell-prime
