[Support functional dependencies in the parser and ignore them
Einar Karttunen <ekarttun@cs.helsinki.fi>**20050520111541
 Functional dependencies are parsed and dropped in the parser. 
 This is not a problem as programs with multiparameter class declarations 
 will be rejected currently with a nice error message.
] hunk ./FrontEnd/HsParser.ly 274
->	| 'class' srcloc ctype optcbody	
->			{ HsClassDecl $2 $3 $4 }
+>	| 'class' srcloc ctype optfundep optcbody
+>			{ HsClassDecl $2 $3 $5 }
hunk ./FrontEnd/HsParser.ly 474
+-----------------------------------------------------------------------------
+Functional dependencies
+
+> optfundep :: { [([HsName],[HsName])] }
+>       : {- empty -}                           { [] }
+>       | '|' fundeps                           { reverse $2 }
+
+> fundeps   :: { [([HsName],[HsName])] }
+>       : fundeps ',' fundep                    { ($3:$1) }
+>       | fundep                                { [$1]    }
+
+> fundep    :: { ([HsName],[HsName]) }
+>       : varids '->' varids                    { ($1,$3) }
+
+> varids    :: { [HsName] }
+>       : {- empty -}                           { [] }
+>       | varids tyvar                          { ($2:$1) }
+