14 /* binders: simple Id, plus a type */
15 cobinder : < gcobinder_v : unkId;
16 gcobinder_ty : ttype; >;
19 colit : < gcolit : literal; >;
20 colocal : < gcolocal_v : coresyn; >;
22 cononrec : <gcononrec_b : coresyn;
23 gcononrec_rhs : coresyn; >;
24 corec : <gcorec : list; >;
25 corec_pair: <gcorec_b : coresyn;
26 gcorec_rhs : coresyn; >;
28 covar : < gcovar : coresyn; >;
29 coliteral :< gcoliteral : literal; >;
30 cocon : < gcocon_con : coresyn;
32 gcocon_args : list; >;
33 coprim : < gcoprim_op : coresyn; /* primop or something */
35 gcoprim_args: list; >;
36 colam : < gcolam_vars : list;
37 gcolam_body : coresyn; >;
38 cotylam : < gcotylam_tvs: list;
39 gcotylam_body : coresyn; >;
40 coapp : < gcoapp_fun : coresyn;
41 gcoapp_args : list; >;
42 cotyapp : < gcotyapp_e : coresyn;
43 gcotyapp_t : ttype; >;
44 cocase : < gcocase_s : coresyn;
45 gcocase_alts : coresyn; >;
46 colet : < gcolet_bind : coresyn;
47 gcolet_body : coresyn; >;
48 coscc : < gcoscc_scc : coresyn;
49 gcoscc_body : coresyn; >;
51 coalg_alts : < gcoalg_alts : list;
52 gcoalg_deflt : coresyn; >;
53 coalg_alt : < gcoalg_con : coresyn;
55 gcoalg_rhs : coresyn; >;
57 coprim_alts : < gcoprim_alts : list;
58 gcoprim_deflt : coresyn; >;
59 coprim_alt : < gcoprim_lit : literal;
60 gcoprim_rhs : coresyn; >;
63 cobinddeflt : < gcobinddeflt_v : coresyn;
64 gcobinddeflt_rhs : coresyn; >;
66 co_primop : < gco_primop : stringId;>;
67 co_ccall : < gco_ccall : stringId;
68 gco_ccall_may_gc : long;
69 gco_ccall_arg_tys : list;
70 gco_ccall_res_ty : ttype; >;
71 co_casm : < gco_casm : literal;
72 gco_casm_may_gc : long;
73 gco_casm_arg_tys : list;
74 gco_casm_res_ty : ttype; >;
76 /* various flavours of cost-centres */
77 co_preludedictscc : < gco_preludedictscc_dupd : coresyn; >;
78 co_alldictscc : < gco_alldictscc_m : hstring;
79 gco_alldictscc_g : hstring;
80 gco_alldictscc_dupd : coresyn; >;
81 co_usercc : < gco_usercc_n : hstring;
82 gco_usercc_m : hstring;
83 gco_usercc_g : hstring;
84 gco_usercc_dupd : coresyn;
85 gco_usercc_cafd : coresyn; >;
86 co_autocc : < gco_autocc_i : coresyn;
87 gco_autocc_m : hstring;
88 gco_autocc_g : hstring;
89 gco_autocc_dupd : coresyn;
90 gco_autocc_cafd : coresyn; >;
91 co_dictcc : < gco_dictcc_i : coresyn;
92 gco_dictcc_m : hstring;
93 gco_dictcc_g : hstring;
94 gco_dictcc_dupd : coresyn;
95 gco_dictcc_cafd : coresyn; >;
102 /* various flavours of Ids */
103 co_id : < gco_id : stringId; >;
104 co_orig_id : < gco_orig_id_m : stringId;
105 gco_orig_id_n : stringId; >;
106 co_sdselid : < gco_sdselid_c : unkId;
107 gco_sdselid_sc : unkId; >;
108 co_classopid : < gco_classopid_c : unkId;
109 gco_classopid_o : unkId; >;
110 co_defmid : < gco_defmid_c : unkId;
111 gco_defmid_op : unkId; >;
112 co_dfunid : < gco_dfunid_c : unkId;
113 gco_dfunid_ty : ttype; >;
114 co_constmid : < gco_constmid_c : unkId;
115 gco_constmid_op : unkId;
116 gco_constmid_ty : ttype; >;
117 co_specid : < gco_specid_un : coresyn;
118 gco_specid_tys : list; >;
119 co_wrkrid : < gco_wrkrid_un : coresyn; >;