summaryrefslogtreecommitdiff
path: root/src/shake.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-06-19 12:39:22 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-06-19 12:39:22 -0400
commit8e98be7de2dd3db541994aae47aeb45756f60098 (patch)
treebbc63e96871ef6513d974d96311deab9afd4e7a3 /src/shake.sml
parent371b414262cfb5888759c786e21c66f883ad13c0 (diff)
Corify removes modules
Diffstat (limited to 'src/shake.sml')
-rw-r--r--src/shake.sml5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/shake.sml b/src/shake.sml
index ec2e43e5..e51d7013 100644
--- a/src/shake.sml
+++ b/src/shake.sml
@@ -42,10 +42,10 @@ type free = {
}
fun shake file =
- case List.foldl (fn ((DVal ("main", n, _, e), _), _) => SOME (n, e)
+ case List.foldl (fn ((DVal ("main", n, t, e), _), _) => SOME (n, t, e)
| (_, s) => s) NONE file of
NONE => []
- | SOME (main, body) =>
+ | SOME (main, mainT, body) =>
let
val (cdef, edef) = foldl (fn ((DCon (_, n, _, c), _), (cdef, edef)) => (IM.insert (cdef, n, c), edef)
| ((DVal (_, n, t, e), _), (cdef, edef)) => (cdef, IM.insert (edef, n, (t, e))))
@@ -92,6 +92,7 @@ fun shake file =
val s = {con = IS.empty,
exp = IS.singleton main}
+ val s = U.Con.fold {kind = kind, con = con} s mainT
val s = U.Exp.fold {kind = kind, con = con, exp = exp} s body
in
List.filter (fn (DCon (_, n, _, _), _) => IS.member (#con s, n)