summaryrefslogtreecommitdiff
path: root/src/lem_interp/interp_utilities.lem
diff options
context:
space:
mode:
Diffstat (limited to 'src/lem_interp/interp_utilities.lem')
-rw-r--r--src/lem_interp/interp_utilities.lem7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lem_interp/interp_utilities.lem b/src/lem_interp/interp_utilities.lem
index 196655e2..7a667478 100644
--- a/src/lem_interp/interp_utilities.lem
+++ b/src/lem_interp/interp_utilities.lem
@@ -1,6 +1,11 @@
open import Interp_ast
open import Pervasives
+let rec power (a: integer) (b: integer) : integer =
+ if b <= 0
+ then 1
+ else a * (power a (b-1))
+
type tannot = maybe (t * tag * list nec * effect)
let get_exp_l (E_aux e (l,annot)) = l
@@ -88,7 +93,7 @@ let string_of_tag tag = match tag with
| Tag_extern _ -> "extern"
| Tag_default -> "default"
| Tag_spec -> "spec"
- | Tag_enum -> "enum"
+ | Tag_enum i -> "enum"
| Tag_alias -> "alias"
end