diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-08-31 09:00:28 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-08-31 09:00:28 -0400 |
commit | 652ca797f5c9de9adc198df0c0e8a706807328a6 (patch) | |
tree | d169fb294b36335dbe40525678328c7b0dc21c13 /src/shake.sml | |
parent | 773cc619b71ad10b8f21f6941d67947bac86885f (diff) |
Corify tables
Diffstat (limited to 'src/shake.sml')
-rw-r--r-- | src/shake.sml | 9 |
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 |