aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sql.sig
diff options
context:
space:
mode:
authorGravatar Ziv Scully <ziv@mit.edu>2014-11-10 22:04:40 -0500
committerGravatar Ziv Scully <ziv@mit.edu>2014-11-10 22:04:40 -0500
commitdc5e7102563b9c0714391f86b6dcf852445ee192 (patch)
treec3d3413da82cff5b180dd917ad98e4963a48d64c /src/sql.sig
parent7b94f3433f47e4e5010dc2af6010181da49637e8 (diff)
Progress towards invalidation based on equalities of fields.
Diffstat (limited to 'src/sql.sig')
-rw-r--r--src/sql.sig26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/sql.sig b/src/sql.sig
index cf2ae14a..5f5d1b23 100644
--- a/src/sql.sig
+++ b/src/sql.sig
@@ -26,24 +26,30 @@ datatype exp =
| Recd of (string * exp) list
| Proj of exp * string
-datatype reln =
- Known
- | Sql of string
- | PCon0 of string
- | PCon1 of string
- | Eq
+datatype cmp =
+ Eq
| Ne
| Lt
| Le
| Gt
| Ge
+datatype reln =
+ Known
+ | Sql of string
+ | PCon0 of string
+ | PCon1 of string
+ | Cmp of cmp
+
+datatype lop =
+ And
+ | Or
+
datatype prop =
True
| False
| Unknown
- | And of prop * prop
- | Or of prop * prop
+ | Lop of lop * prop * prop
| Reln of reln * exp list
| Cond of exp * prop
@@ -52,8 +58,8 @@ type 'a parser
val parse : 'a parser -> Mono.exp -> 'a option
datatype Rel =
- Exps of exp * exp -> prop
- | Props of prop * prop -> prop
+ RCmp of cmp
+ | RLop of lop
datatype sqexp =
SqConst of Prim.t