diff src/monoize.sml @ 749:16bfd9e244cd

INNER JOIN
author Adam Chlipala <adamc@hcoop.net>
date Tue, 28 Apr 2009 10:11:56 -0400
parents 5f9b9972e6b8
children 059074c8d2fc
line wrap: on
line diff
--- a/src/monoize.sml	Tue Apr 28 09:45:17 2009 -0400
+++ b/src/monoize.sml	Tue Apr 28 10:11:56 2009 -0400
@@ -1728,6 +1728,22 @@
                                              (L'.ERel 0, loc)]), loc)), loc),
                  fm)
             end
+          | L.ECApp ((L.ECApp ((L.EFfi ("Basis", "sql_inner_join"), _), _), _), _) =>
+            let
+                val s = (L'.TFfi ("Basis", "string"), loc)
+            in
+                ((L'.EAbs ("tab1", s, (L'.TFun (s, (L'.TFun (s, s), loc)), loc),
+                           (L'.EAbs ("tab2", s, (L'.TFun (s, s), loc),
+                                     (L'.EAbs ("on", s, s,
+                                               strcat [(L'.EPrim (Prim.String "("), loc),
+                                                       (L'.ERel 2, loc),
+                                                       (L'.EPrim (Prim.String " JOIN "), loc),
+                                                       (L'.ERel 1, loc),
+                                                       (L'.EPrim (Prim.String " ON "), loc),
+                                                       (L'.ERel 0, loc),
+                                                       (L'.EPrim (Prim.String ")"), loc)]), loc)), loc)), loc),
+                 fm)
+            end
 
           | L.ECApp ((L.ECApp ((L.EFfi ("Basis", "sql_order_by_Nil"), _), _), _), _) =>
             ((L'.EPrim (Prim.String ""), loc), fm)