aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/shake.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-08-31 09:00:28 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-08-31 09:00:28 -0400
commit652ca797f5c9de9adc198df0c0e8a706807328a6 (patch)
treed169fb294b36335dbe40525678328c7b0dc21c13 /src/shake.sml
parent773cc619b71ad10b8f21f6941d67947bac86885f (diff)
Corify tables
Diffstat (limited to 'src/shake.sml')
-rw-r--r--src/shake.sml9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/shake.sml b/src/shake.sml
index 5b3a1bce..015d2f11 100644
--- a/src/shake.sml
+++ b/src/shake.sml
@@ -41,6 +41,8 @@ type free = {
exp : IS.set
}
+val dummye = (EPrim (Prim.String ""), ErrorMsg.dummySpan)
+
fun shake file =
let
val page_es = List.foldl
@@ -53,7 +55,9 @@ fun shake file =
| ((DVal (_, n, t, e, _), _), (cdef, edef)) => (cdef, IM.insert (edef, n, (t, e)))
| ((DValRec vis, _), (cdef, edef)) =>
(cdef, foldl (fn ((_, n, t, e, _), edef) => IM.insert (edef, n, (t, e))) edef vis)
- | ((DExport _, _), acc) => acc)
+ | ((DExport _, _), acc) => acc
+ | ((DTable (_, n, c, _), _), (cdef, edef)) =>
+ (cdef, IM.insert (edef, n, (c, dummye))))
(IM.empty, IM.empty) file
fun kind (_, s) = s
@@ -105,7 +109,8 @@ fun shake file =
| (DDatatype (_, n, _, _), _) => IS.member (#con s, n)
| (DVal (_, n, _, _, _), _) => IS.member (#exp s, n)
| (DValRec vis, _) => List.exists (fn (_, n, _, _, _) => IS.member (#exp s, n)) vis
- | (DExport _, _) => true) file
+ | (DExport _, _) => true
+ | (DTable _, _) => true) file
end
end