Re: Re: template haskell (reify bug and existentials)

Ian Lynagh <[email protected]>
Newsgroups gmane.comp.lang.haskell.template
Message-ID <[email protected]>
[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.