[Existentials should work in the CVS head now] On Tue, Nov 02, 2004 at 12:18:51PM +0000, Keean Schupke wrote:
Ian, What are the chances of getting fundeps added to class declarations? I only need to generate them so support in the syntax and pretty-printer is all that is required... Here are the changes I have made to my local copy to get it working. I suppose this breaks existing code! Perhaps you would rather have a new constructor for classes with fundeps?
We have so far taken the attitude that it is better to get a cleaner interface than to protect old code, so I think the same principle should apply here.
in Syntax.hs: ... type Fundep = ([Name],[Name]) -- add to export list
Experience has suggested that data Fundep = FunDep [Name] [Name] is more convenient as it allows you to make class instances for it.
| ClassD Cxt Name [Name] [Dec] [Fundep]
I think ClassD Cxt Name [Name] [Fundep] [Dec] is nicer as it matches the concrete syntax order. Has anyone got any objections to this (in particular the breaking existing code aspect)? Thanks Ian