diff src/elab_util.sml @ 338:e976b187d73a

SQL sequences
author Adam Chlipala <adamc@hcoop.net>
date Sun, 14 Sep 2008 11:02:18 -0400
parents 9601c717d2f3
children 075b36dbb1a4
line wrap: on
line diff
--- a/src/elab_util.sml	Sat Sep 13 20:15:30 2008 -0400
+++ b/src/elab_util.sml	Sun Sep 14 11:02:18 2008 -0400
@@ -465,6 +465,7 @@
                 S.map2 (con ctx c,
                         fn c' =>
                            (SgiTable (tn, x, n, c'), loc))
+              | SgiSequence _ => S.return2 siAll
               | SgiClassAbs _ => S.return2 siAll
               | SgiClass (x, n, c) =>
                 S.map2 (con ctx c,
@@ -494,6 +495,7 @@
                                                    bind (ctx, Sgn (x, sgn))
                                                  | SgiConstraint _ => ctx
                                                  | SgiTable _ => ctx
+                                                 | SgiSequence _ => ctx
                                                  | SgiClassAbs (x, n) =>
                                                    bind (ctx, NamedC (x, n, (KArrow ((KType, loc), (KType, loc)), loc)))
                                                  | SgiClass (x, n, _) =>
@@ -635,8 +637,10 @@
                                                  | DConstraint _ => ctx
                                                  | DExport _ => ctx
                                                  | DTable (tn, x, n, c) =>
-                                                   bind (ctx, NamedE (x, (CApp ((CModProj (n, [], "table"), loc),
+                                                   bind (ctx, NamedE (x, (CApp ((CModProj (n, [], "sql_table"), loc),
                                                                                 c), loc)))
+                                                 | DSequence (tn, x, n) =>
+                                                   bind (ctx, NamedE (x, (CModProj (n, [], "sql_sequence"), loc)))
                                                  | DClass (x, n, _) =>
                                                    bind (ctx, NamedC (x, n, (KArrow ((KType, loc), (KType, loc)), loc)))
                                                  | DDatabase _ => ctx,
@@ -731,13 +735,14 @@
                 S.map2 (mfc ctx c,
                         fn c' =>
                            (DTable (tn, x, n, c'), loc))
+              | DSequence _ => S.return2 dAll
 
-             | DClass (x, n, c) =>
+              | DClass (x, n, c) =>
                 S.map2 (mfc ctx c,
-                        fn c' =>
-                           (DClass (x, n, c'), loc))
+                     fn c' =>
+                        (DClass (x, n, c'), loc))
 
-             | DDatabase _ => S.return2 dAll
+              | DDatabase _ => S.return2 dAll
 
         and mfvi ctx (x, n, c, e) =
             S.bind2 (mfc ctx c,