[project @ 1996-06-05 06:44:31 by partain]
[ghc-hetmet.git] / ghc / compiler / parser / constr.ugn
1 %{
2 #include "hspincl.h"
3 %}
4 %{{
5 #include "HsVersions.h"
6
7 module U_constr where
8 IMP_Ubiq() --  debugging consistency check
9 import UgenUtil
10
11 import U_maybe
12 import U_list
13 import U_qid
14 import U_ttype
15 %}}
16 type constr;
17         /* constr in prefix form: */
18         constrpre   : < gconcid     : qid;
19                         gconctypel  : list; /* [ttype] */
20                         gconcline   : long; >;
21
22         /* constr in infix form: */
23         constrinf   : < gconity1    : ttype;
24                         gconiop     : qid;
25                         gconity2    : ttype;
26                         gconiline   : long; >;
27
28         /* constr in record form: */
29         constrrec   : < gconrid     : qid;
30                         gconrfieldl : list; /* [field] */
31                         gconrline   : long; >;
32
33         /* constr in simple "newtype" form: */
34         constrnew   : < gconnid     : qid;
35                         gconnty     : ttype;
36                         gconnline   : long; >;
37
38         field       : < gfieldn     : list;
39                         gfieldt     : ttype; >;
40 end;