From 8e98be7de2dd3db541994aae47aeb45756f60098 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Thu, 19 Jun 2008 12:39:22 -0400 Subject: Corify removes modules --- src/shake.sml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/shake.sml') 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) -- cgit v1.2.3