%{ #include "hspincl.h" %} %{{ module U_tree where #include "HsVersions.h" import UgenUtil import U_constr ( U_constr ) -- interface only import U_binding import U_list import U_literal import U_maybe import U_qid import U_ttype %}} type tree; hmodule : < ghname : stringId; ghimplist : list; /* [import] */ ghexplist : maybe; /* Maybe [entity] */ ghfixes : list; /* [fixop] */ ghmodlist : binding; ghversion : long; ghmodline : long; >; fixop : < gfixop : qid; gfixinfx : long; gfixprec : long; gfixline : long; >; ident : < gident : qid; >; lit : < glit : literal; >; ap : < gfun : tree; garg : tree; >; infixap : < ginffun : qid; ginfarg1 : tree; ginfarg2 : tree; >; negate : < gnexp : tree; >; lambda : < glampats : list; glamexpr : tree; glamline : long; >; let : < gletvdefs : binding; gletvexpr : tree; >; casee : < gcaseexpr : tree; gcasebody : list; gcaseline : long; >; ife : < gifpred : tree; gifthen : tree; gifelse : tree; gifline : long; >; doe : < gdo : list; gdoline : long; >; dobind : < gdobindpat : tree; gdobindexp : tree; gdobindline : long; >; doexp : < gdoexp : tree; gdoexpline : long; >; seqlet : < gseqlet : binding; >; record : < grcon : qid; grbinds : list; >; /* [rbind] */ rupdate : < gupdexp : tree; gupdbinds : list; >; /* [rbind] */ rbind : < grbindvar : qid; grbindexp : maybe; >; /* Maybe expr */ par : < gpare : tree; >; as : < gasid : qid; gase : tree; >; lazyp : < glazyp : tree; >; plusp : < gplusp : qid; gplusi : literal; >; wildp : < >; restr : < grestre : tree; grestrt : ttype; >; tuple : < gtuplelist : list; >; utuple : < gutuplelist : list; >; llist : < gllist : list; >; eenum : < gefrom : tree; gestep : maybe; geto : maybe; >; comprh : < gcexp : tree; gcquals : list; >; qual : < gqpat : tree; gqexp : tree; >; guard : < ggexp : tree; >; lsection: < glsexp : tree; glsop : qid; >; rsection: < grsop : qid; grsexp : tree; >; ccall : < gccid : stringId; gccinfo : stringId; gccargs : list; >; scc : < gsccid : hstring; gsccexp : tree; >; end;