Mercurial > urweb
diff src/shake.sml @ 1062:3bc726a822fb
Shake bug fix; pattern reduction in ReduceLocal
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 08 Dec 2009 11:45:19 -0500 |
parents | 6f4f8b9c5023 |
children | b2311dfb3158 |
line wrap: on
line diff
--- a/src/shake.sml Tue Dec 08 10:46:50 2009 -0500 +++ b/src/shake.sml Tue Dec 08 11:45:19 2009 -0500 @@ -67,7 +67,7 @@ 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 @@ 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)