summaryrefslogtreecommitdiff
path: root/src/shake.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-12-08 11:45:19 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-12-08 11:45:19 -0500
commit9285fc85a25fc1fbe9e8d5c37f63dffedb197fa6 (patch)
tree8ac2d14152b1ae2cfccf03bd0cf90b6f6592ab99 /src/shake.sml
parent778b73af8cd74791c5d2f8cc520d82e3b4e1f5de (diff)
Shake bug fix; pattern reduction in ReduceLocal
Diffstat (limited to 'src/shake.sml')
-rw-r--r--src/shake.sml4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/shake.sml b/src/shake.sml
index 291f2fb0..dde131fc 100644
--- a/src/shake.sml
+++ b/src/shake.sml
@@ -67,7 +67,7 @@ fun shake file =
val (usedE, usedC) =
List.foldl
- (fn ((DExport (_, n), _), (usedE, usedC)) => (IS.add (usedE, n), usedE)
+ (fn ((DExport (_, n), _), (usedE, usedC)) => (IS.add (usedE, n), usedC)
| ((DTable (_, _, c, _, pe, pc, ce, cc), _), (usedE, usedC)) =>
let
val usedC = usedVarsC usedC c
@@ -170,7 +170,7 @@ fun shake file =
val s = IS.foldl (fn (n, s) =>
case IM.find (cdef, n) of
- NONE => raise Fail "Shake: Couldn't find 'con'"
+ NONE => raise Fail ("Shake: Couldn't find 'con' " ^ Int.toString n)
| SOME cs => foldl (fn (c, s) => shakeCon s c) s cs) s usedC
in
List.filter (fn (DCon (_, n, _, _), _) => IS.member (#con s, n)