summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/prelude.sail7
-rw-r--r--src/ast_util.ml1
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/prelude.sail b/lib/prelude.sail
index bb19aa8d..bac9532c 100644
--- a/lib/prelude.sail
+++ b/lib/prelude.sail
@@ -181,6 +181,13 @@ overload (deinfix <<) [
shiftl
]
+val forall Num 'n, Num 'o, Order 'ord.
+ (vector<'o, 'n, 'ord, bit>, int) -> vector<'o, 'n, 'ord, bit> effect pure shiftr
+
+overload (deinfix >>) [
+ shiftr
+]
+
(* Boolean operators *)
val bool -> bool effect pure bool_not
val (bool, bool) -> bool effect pure bool_or
diff --git a/src/ast_util.ml b/src/ast_util.ml
index 5bb4e0a6..b17371d8 100644
--- a/src/ast_util.ml
+++ b/src/ast_util.ml
@@ -293,6 +293,7 @@ let rec string_of_exp (E_aux (exp, _)) =
^ ") { "
^ string_of_exp body
| E_assert (test, msg) -> "assert(" ^ string_of_exp test ^ ", " ^ string_of_exp msg ^ ")"
+ | E_exit exp -> "exit " ^ string_of_exp exp
| _ -> "INTERNAL"
and string_of_pexp (Pat_aux (pexp, _)) =
match pexp with