Proposal for stand-alone deriving declarations?
bringert at cs.chalmers.se
Sun Oct 8 13:30:52 EDT 2006
On 8 okt 2006, at 18.22, Brian Smith wrote:
> On 10/6/06, Björn Bringert <bringert at cs.chalmers.se> 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'
> 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.
More information about the Haskell-prime