[cvs-nhc98] Implemented "deriving Eq" in portable transformation.

User olaf olaf@sparud.net
Fri, 8 Feb 2002 19:55:32 +0100 (CET)


olaf: Fri Feb  8 19:55:31 CET 2002

Update of /usr/src/master/nhc/src/compiler98
In directory hinken:/tmp/cvs-serv19128/src/compiler98

Modified Files:
	HatTrans.hs Makefile PrettySyntax.hs Syntax.hs TokenId.hs 
	TraceId.hs TraceTrans.hs 
Log Message:
Implemented "deriving Eq" in portable transformation.

The general mechanism and the specific one for the class Eq are implemented.
Deriving for the remaining classes still needs to be done.

The derived code is untraced.

I use a hack for determining the context of an instance. It is the context that will "commonly" be needed, but it is not correct in all cases. A correct implementation would require much more effort: context reduction (with knowledge about all classes, instances and type synonyms) and a fixed point iteration.