Fixing the order that labeled fields appear in datatypes. Currently
they are reversed, which breaks the prelude badly.
[From Haskell report:
The arguments to the positional constructor occur in the same order as the labeled fields. For example, the declaration
data C = F { f1,f2 :: Int, f3 :: Bool}
defines a type and constructor identical to the one produced by
data C = F Int Int Bool
]
{-
-----------------------------------------------------------------------------
-$Id: Parser.y,v 1.38 2000/10/05 15:42:30 simonpj Exp $
+$Id: Parser.y,v 1.39 2000/10/05 22:50:18 andy Exp $
Haskell grammar.
constr_stuff :: { (RdrName, RdrNameConDetails) }
: btype {% mkVanillaCon $1 [] }
| btype '!' atype satypes {% mkVanillaCon $1 (Banged $3 : $4) }
- | gtycon '{' fielddecls '}' {% mkRecCon $1 $3 }
+ | gtycon '{' fielddecls '}' {% mkRecCon $1 (reverse $3) }
| sbtype conop sbtype { ($2, InfixCon $1 $3) }
satypes :: { [RdrNameBangType] }