comparison src/sql.sig @ 2216:70ec9bb337be

Progress towards invalidation based on equalities of fields.
author Ziv Scully <ziv@mit.edu>
date Mon, 10 Nov 2014 22:04:40 -0500
parents 639e62ca2530
children f8903af753ff
comparison
equal deleted inserted replaced
2215:639e62ca2530 2216:70ec9bb337be
24 | Lvar of lvar 24 | Lvar of lvar
25 | Func of func * exp list 25 | Func of func * exp list
26 | Recd of (string * exp) list 26 | Recd of (string * exp) list
27 | Proj of exp * string 27 | Proj of exp * string
28 28
29 datatype reln = 29 datatype cmp =
30 Known 30 Eq
31 | Sql of string
32 | PCon0 of string
33 | PCon1 of string
34 | Eq
35 | Ne 31 | Ne
36 | Lt 32 | Lt
37 | Le 33 | Le
38 | Gt 34 | Gt
39 | Ge 35 | Ge
40 36
37 datatype reln =
38 Known
39 | Sql of string
40 | PCon0 of string
41 | PCon1 of string
42 | Cmp of cmp
43
44 datatype lop =
45 And
46 | Or
47
41 datatype prop = 48 datatype prop =
42 True 49 True
43 | False 50 | False
44 | Unknown 51 | Unknown
45 | And of prop * prop 52 | Lop of lop * prop * prop
46 | Or of prop * prop
47 | Reln of reln * exp list 53 | Reln of reln * exp list
48 | Cond of exp * prop 54 | Cond of exp * prop
49 55
50 type 'a parser 56 type 'a parser
51 57
52 val parse : 'a parser -> Mono.exp -> 'a option 58 val parse : 'a parser -> Mono.exp -> 'a option
53 59
54 datatype Rel = 60 datatype Rel =
55 Exps of exp * exp -> prop 61 RCmp of cmp
56 | Props of prop * prop -> prop 62 | RLop of lop
57 63
58 datatype sqexp = 64 datatype sqexp =
59 SqConst of Prim.t 65 SqConst of Prim.t
60 | SqTrue 66 | SqTrue
61 | SqFalse 67 | SqFalse