6 import Ubiq -- debugging consistency check
11 import U_literal ( U_literal ) -- ditto
12 import U_ttype ( U_ttype ) -- interface only
17 idata_pragma: < gprag_data_constrs : list; /*of con decls*/
18 gprag_data_specs : list; /*specialisations*/ >;
22 iclas_pragma: < gprag_clas : list; /*of gen pragmas*/ >;
24 iclasop_pragma: < gprag_dsel : hpragma; /* gen pragma: dict selector */
25 gprag_defm : hpragma; /* gen pragma: default method */ >;
27 iinst_simpl_pragma: < gprag_dfun_simpl : hpragma; /* gen pragma: of dfun */ >;
29 iinst_const_pragma: < gprag_dfun_const : hpragma; /* gen pragma: of dfun */
30 gprag_constms : list; /* (name, gen pragma) pairs */ >;
32 igen_pragma: < gprag_arity : hpragma; /* arity */
33 gprag_update : hpragma; /* update info */
34 gprag_deforest : hpragma; /* deforest info */
35 gprag_strictness : hpragma; /* strictness info */
36 gprag_unfolding : hpragma; /* unfolding */
37 gprag_specs : list; /* (type, gen pragma) pairs */ >;
39 iarity_pragma: < gprag_arity_val : numId; >;
40 iupdate_pragma: < gprag_update_val : stringId; >;
41 ideforest_pragma: < >;
42 istrictness_pragma: < gprag_strict_spec : hstring;
43 gprag_strict_wrkr : hpragma; /*about worker*/ >;
44 imagic_unfolding_pragma: < gprag_magic_str : stringId; >;
46 iunfolding_pragma: < gprag_unfold_guide : hpragma; /* guidance */
47 gprag_unfold_core : coresyn; >;
50 iunfold_if_args: < gprag_unfold_if_t_args : numId;
51 gprag_unfold_if_v_args : numId;
52 gprag_unfold_if_con_args : stringId;
53 gprag_unfold_if_size : numId; >;
55 iname_pragma_pr: < gprag_name_pr1 : unkId;
56 gprag_name_pr2 : hpragma; >;
57 itype_pragma_pr: < gprag_type_pr1 : list; /* of maybe types */
58 gprag_type_pr2 : numId; /* # dicts to ignore */
59 gprag_type_pr3 : hpragma; >;
61 idata_pragma_4s: < gprag_data_spec : list; /* of maybe types */ >;