Mercurial > urweb
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,