diff lib/ur/list.ur @ 1191:61c3139eab12

Subquery expressions
author Adam Chlipala <adamc@hcoop.net>
date Thu, 25 Mar 2010 15:44:24 -0400
parents 52571ca9b777
children 4c367c8f5b2d
line wrap: on
line diff
--- a/lib/ur/list.ur	Thu Mar 25 13:04:49 2010 -0400
+++ b/lib/ur/list.ur	Thu Mar 25 15:44:24 2010 -0400
@@ -244,7 +244,7 @@
     end
 
 fun mapQuery [tables ::: {{Type}}] [exps ::: {Type}] [t ::: Type]
-             [tables ~ exps] (q : sql_query tables exps)
+             [tables ~ exps] (q : sql_query [] tables exps)
              (f : $(exps ++ map (fn fields :: {Type} => $fields) tables) -> t) =
     ls <- query q
                 (fn fs acc => return (f fs :: acc))
@@ -252,7 +252,7 @@
     return (rev ls)
 
 fun mapQueryM [tables ::: {{Type}}] [exps ::: {Type}] [t ::: Type]
-             [tables ~ exps] (q : sql_query tables exps)
+             [tables ~ exps] (q : sql_query [] tables exps)
              (f : $(exps ++ map (fn fields :: {Type} => $fields) tables) -> transaction t) =
     ls <- query q
                 (fn fs acc => v <- f fs; return (v :: acc))
@@ -260,7 +260,7 @@
     return (rev ls)
 
 fun mapQueryPartialM [tables ::: {{Type}}] [exps ::: {Type}] [t ::: Type]
-             [tables ~ exps] (q : sql_query tables exps)
+             [tables ~ exps] (q : sql_query [] tables exps)
              (f : $(exps ++ map (fn fields :: {Type} => $fields) tables) -> transaction (option t)) =
     ls <- query q
                 (fn fs acc => v <- f fs;