summaryrefslogtreecommitdiff
path: root/src/ast_util.mli
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast_util.mli')
-rw-r--r--src/ast_util.mli9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ast_util.mli b/src/ast_util.mli
index c9869cce..4452ee3f 100644
--- a/src/ast_util.mli
+++ b/src/ast_util.mli
@@ -53,6 +53,13 @@
open Ast
module Big_int = Nat_big_num
+type mut = Immutable | Mutable
+
+(** [lvar] is the type of variables - they can either be registers,
+ local mutable or immutable variables, nullary union constructors
+ (i.e. None in option), or unbound identifiers *)
+type lvar = Register of typ | Enum of typ | Local of mut * typ | Union of typquant * typ | Unbound
+
val no_annot : unit annot
val gen_loc : Parse_ast.l -> Parse_ast.l
@@ -293,3 +300,5 @@ val rename_fundef : id -> 'a fundef -> 'a fundef
val split_defs : ('a def -> bool) -> 'a defs -> ('a defs * 'a def * 'a defs) option
val append_ast : 'a defs -> 'a defs -> 'a defs
+
+val type_union_id : type_union -> id