On 8 okt 2006, at 18.22, Brian Smith wrote:

On 10/6/06, Björn Bringert <[EMAIL PROTECTED]> wrote:
John Hughes wrote:
> deriving (Eq Foo, Ord Foo)
>
> instead of
>
> deriving (Eq, Ord) for Foo
>
> I find the former syntax clearer and more readable, actually.
>
> John

I'll implement this syntax instead and then write up a Haskell' proposal.

I am sure that it was already argued at great length, but I think it is wrong to start the declaration with "deriving." I believe that "derive instance" fits much better into the language. I understand the desire to avoid adding new keywords but I think that something along the lines of what was done for "for" could be done here for "derive."

I agree that "derive" would be nicer, but as you say, the problem is that it would add a new keyword. Since the declaration would then start with "derive", I don't that think it could easily be made into a special identifier. A deriving declaration would look like this:

derive Eq Foo

which looks just like the beginning of a declaration of a function called "derive" which does some pattern matching, if derive can also be an identifier.

/Björn

_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to