comparison sql.ur @ 14:744bf911dcc6

Update to expect implicit argument insertion for local variables
author Adam Chlipala <adam@chlipala.net>
date Tue, 14 Jun 2011 08:55:15 -0400
parents d05943db55e8
children 6ebc2ca594b7
comparison
equal deleted inserted replaced
13:d05943db55e8 14:744bf911dcc6
8 [fn key => rest :: {Type} -> [rest ~ key] => sql_exp [tn = key ++ rest] [] [] bool] 8 [fn key => rest :: {Type} -> [rest ~ key] => sql_exp [tn = key ++ rest] [] [] bool]
9 (fn [nm :: Name] [t :: Type] [key :: {Type}] [[nm] ~ key] 9 (fn [nm :: Name] [t :: Type] [key :: {Type}] [[nm] ~ key]
10 (inj : sql_injectable t) (v : t) 10 (inj : sql_injectable t) (v : t)
11 (exp : rest :: {Type} -> [rest ~ key] => sql_exp [tn = key ++ rest] [] [] bool) 11 (exp : rest :: {Type} -> [rest ~ key] => sql_exp [tn = key ++ rest] [] [] bool)
12 [rest :: {Type}] [rest ~ [nm = t] ++ key] => 12 [rest :: {Type}] [rest ~ [nm = t] ++ key] =>
13 (WHERE {{tn}}.{nm} = {@sql_inject inj v} AND {exp [[nm = t] ++ rest] !})) 13 (WHERE {{tn}}.{nm} = {@sql_inject inj v} AND {exp [[nm = t] ++ rest]}))
14 (fn [rest :: {Type}] [rest ~ []] => (WHERE TRUE)) 14 (fn [rest :: {Type}] [rest ~ []] => (WHERE TRUE))
15 fl m r [_] ! 15 fl m r [_] !
16 16
17 fun joiner [tn1 :: Name] [tn2 :: Name] [fs] [ofs1] [ofs2] [[tn1] ~ [tn2]] [fs ~ ofs1] [fs ~ ofs2] 17 fun joiner [tn1 :: Name] [tn2 :: Name] [fs] [ofs1] [ofs2] [[tn1] ~ [tn2]] [fs ~ ofs1] [fs ~ ofs2]
18 (fl : folder fs) = 18 (fl : folder fs) =
20 [fn key => rest1 :: {Type} -> rest2 :: {Type} -> [rest1 ~ key] => [rest2 ~ key] => sql_exp [tn1 = key ++ rest1, tn2 = key ++ rest2] [] [] bool] 20 [fn key => rest1 :: {Type} -> rest2 :: {Type} -> [rest1 ~ key] => [rest2 ~ key] => sql_exp [tn1 = key ++ rest1, tn2 = key ++ rest2] [] [] bool]
21 (fn [nm :: Name] [t :: Type] [key :: {Type}] [[nm] ~ key] 21 (fn [nm :: Name] [t :: Type] [key :: {Type}] [[nm] ~ key]
22 (exp : rest1 :: {Type} -> rest2 :: {Type} -> [rest1 ~ key] => [rest2 ~ key] 22 (exp : rest1 :: {Type} -> rest2 :: {Type} -> [rest1 ~ key] => [rest2 ~ key]
23 => sql_exp [tn1 = key ++ rest1, tn2 = key ++ rest2] [] [] bool) 23 => sql_exp [tn1 = key ++ rest1, tn2 = key ++ rest2] [] [] bool)
24 [rest1 :: {Type}] [rest2 :: {Type}] [rest1 ~ [nm = t] ++ key] [rest2 ~ [nm = t] ++ key] => 24 [rest1 :: {Type}] [rest2 :: {Type}] [rest1 ~ [nm = t] ++ key] [rest2 ~ [nm = t] ++ key] =>
25 (WHERE {{tn1}}.{nm} = {{tn2}}.{nm} AND {exp [[nm = t] ++ rest1] [[nm = t] ++ rest2] ! !})) 25 (WHERE {{tn1}}.{nm} = {{tn2}}.{nm} AND {exp [[nm = t] ++ rest1] [[nm = t] ++ rest2]}))
26 (fn [rest1 :: {Type}] [rest2 :: {Type}] [rest1 ~ []] [rest2 ~ []] => (WHERE TRUE)) 26 (fn [rest1 :: {Type}] [rest2 :: {Type}] [rest1 ~ []] [rest2 ~ []] => (WHERE TRUE))
27 fl [_] [_] ! ! 27 fl [_] [_] ! !