summaryrefslogtreecommitdiff
path: root/language/l2.lem
diff options
context:
space:
mode:
authorKathy Gray2014-05-29 17:43:27 +0100
committerKathy Gray2014-05-29 17:43:27 +0100
commitb81ffc3c1830c8b9bc8874a494ea1cc823c9b7d6 (patch)
tree4c7569d26d7d6d160f1b03cc0199ab7a0cb643ec /language/l2.lem
parent4902a0b818d68b8fd38c766c7269c8364bd3b0f9 (diff)
Check constraints in power.sail; this required using big_int instead of int to support 2**64.
Note: now nat (short hand for range<0,infinity>) should only be used if you really mean a nat instead of a bounded number (i.e. range<0,2**32>)
Diffstat (limited to 'language/l2.lem')
-rw-r--r--language/l2.lem3
1 files changed, 3 insertions, 0 deletions
diff --git a/language/l2.lem b/language/l2.lem
index 4921c16b..fb8b7731 100644
--- a/language/l2.lem
+++ b/language/l2.lem
@@ -450,6 +450,7 @@ end
type ne = (* internal numeric expressions *)
| Ne_var of x
| Ne_const of integer
+ | Ne_inf
| Ne_mult of ne * ne
| Ne_add of list ne
| Ne_exp of ne
@@ -470,6 +471,8 @@ type nec = (* Numeric expression constraints *)
| Nec_eq of ne * ne
| Nec_gteq of ne * ne
| Nec_in of x * list integer
+ | Nec_cond of list nec * list nec
+ | Nec_branch of list nec
type kinf = (* Whether a kind is default or from a local binding *)