diff options
Diffstat (limited to 'src/ast_util.mli')
| -rw-r--r-- | src/ast_util.mli | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ast_util.mli b/src/ast_util.mli index a41f3737..8f8a2889 100644 --- a/src/ast_util.mli +++ b/src/ast_util.mli @@ -131,8 +131,14 @@ val nc_true : n_constraint val nc_false : n_constraint val nc_set : kid -> int list -> n_constraint +(* Negate a n_constraint. Note that there's no NC_not constructor, so + this flips all the inequalites a the n_constraint leaves and uses + de-morgans to switch and to or and vice versa. *) +val nc_negate : n_constraint -> n_constraint + val quant_items : typquant -> quant_item list val quant_kopts : typquant -> kinded_id list +val quant_split : typquant -> kinded_id list * n_constraint list (* Functions to map over the annotations in sub-expressions *) val map_exp_annot : ('a annot -> 'b annot) -> 'a exp -> 'b exp @@ -247,6 +253,9 @@ val has_effect : effect -> base_effect_aux -> bool val effect_set : effect -> BESet.t +val equal_effects : effect -> effect -> bool +val union_effects : effect -> effect -> effect + val tyvars_of_nexp : nexp -> KidSet.t val tyvars_of_typ : typ -> KidSet.t |
