comparison src/elab_util.sml @ 1797:bb942416bf1c

Remove 'class' declaration; now use 'con' instead
author Adam Chlipala <adam@chlipala.net>
date Sun, 29 Jul 2012 12:27:13 -0400
parents d28adceef22a
children 1aa9629e3a4c
comparison
equal deleted inserted replaced
1796:0de0daab5fbb 1797:bb942416bf1c
917 val ct = (CModProj (n, [], "sql_view"), loc) 917 val ct = (CModProj (n, [], "sql_view"), loc)
918 val ct = (CApp (ct, c), loc) 918 val ct = (CApp (ct, c), loc)
919 in 919 in
920 bind (ctx, NamedE (x, ct)) 920 bind (ctx, NamedE (x, ct))
921 end 921 end
922 | DClass (x, n, k, c) =>
923 bind (ctx, NamedC (x, n, (KArrow (k, (KType, loc)), loc), SOME c))
924 | DDatabase _ => ctx 922 | DDatabase _ => ctx
925 | DCookie (tn, x, n, c) => 923 | DCookie (tn, x, n, c) =>
926 bind (ctx, NamedE (x, (CApp ((CModProj (n, [], "cookie"), loc), 924 bind (ctx, NamedE (x, (CApp ((CModProj (n, [], "cookie"), loc),
927 c), loc))) 925 c), loc)))
928 | DStyle (tn, x, n) => 926 | DStyle (tn, x, n) =>
1038 fn e' => 1036 fn e' =>
1039 S.map2 (mfc ctx c, 1037 S.map2 (mfc ctx c,
1040 fn c' => 1038 fn c' =>
1041 (DView (tn, x, n, e', c'), loc))) 1039 (DView (tn, x, n, e', c'), loc)))
1042 1040
1043 | DClass (x, n, k, c) =>
1044 S.bind2 (mfk ctx k,
1045 fn k' =>
1046 S.map2 (mfc ctx c,
1047 fn c' =>
1048 (DClass (x, n, k', c'), loc)))
1049
1050 | DDatabase _ => S.return2 dAll 1041 | DDatabase _ => S.return2 dAll
1051 1042
1052 | DCookie (tn, x, n, c) => 1043 | DCookie (tn, x, n, c) =>
1053 S.map2 (mfc ctx c, 1044 S.map2 (mfc ctx c,
1054 fn c' => 1045 fn c' =>
1231 | DValRec vis => foldl (fn ((_, n, _, _), count) => Int.max (n, count)) 0 vis 1222 | DValRec vis => foldl (fn ((_, n, _, _), count) => Int.max (n, count)) 0 vis
1232 | DStr (_, n, sgn, str) => Int.max (n, Int.max (maxNameSgn sgn, maxNameStr str)) 1223 | DStr (_, n, sgn, str) => Int.max (n, Int.max (maxNameSgn sgn, maxNameStr str))
1233 | DSgn (_, n, sgn) => Int.max (n, maxNameSgn sgn) 1224 | DSgn (_, n, sgn) => Int.max (n, maxNameSgn sgn)
1234 | DFfiStr (_, n, sgn) => Int.max (n, maxNameSgn sgn) 1225 | DFfiStr (_, n, sgn) => Int.max (n, maxNameSgn sgn)
1235 | DConstraint _ => 0 1226 | DConstraint _ => 0
1236 | DClass (_, n, _, _) => n
1237 | DExport _ => 0 1227 | DExport _ => 0
1238 | DTable (n1, _, n2, _, _, _, _, _) => Int.max (n1, n2) 1228 | DTable (n1, _, n2, _, _, _, _, _) => Int.max (n1, n2)
1239 | DSequence (n1, _, n2) => Int.max (n1, n2) 1229 | DSequence (n1, _, n2) => Int.max (n1, n2)
1240 | DView (n1, _, n2, _, _) => Int.max (n1, n2) 1230 | DView (n1, _, n2, _, _) => Int.max (n1, n2)
1241 | DDatabase _ => 0 1231 | DDatabase _ => 0