summaryrefslogtreecommitdiff
path: root/src/compiler.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2010-03-06 19:14:48 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2010-03-06 19:14:48 -0500
commitcbda10a2d0c31f366d34e059d25751fa66c3b5e5 (patch)
treebc477781e8f3c91a920b10819bf743d10968ca88 /src/compiler.sml
parent049d85f6ec161c8df0461550549ded12be9e44e8 (diff)
Got split1 working, but noticed a nasty type inference bug with transplanted unification variables
Diffstat (limited to 'src/compiler.sml')
-rw-r--r--src/compiler.sml20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/compiler.sml b/src/compiler.sml
index 63b28fb7..237cad08 100644
--- a/src/compiler.sml
+++ b/src/compiler.sml
@@ -955,7 +955,16 @@ val toRpcify = transform rpcify "rpcify" o toShake1
val toCore_untangle2 = transform core_untangle "core_untangle2" o toRpcify
val toShake2 = transform shake "shake2" o toCore_untangle2
-val toEspecialize1 = transform especialize "especialize1" o toShake2
+
+val unpoly = {
+ func = Unpoly.unpoly,
+ print = CorePrint.p_file CoreEnv.empty
+}
+
+val toUnpoly1 = transform unpoly "unpoly1" o toShake2
+
+val toEspecialize1 = transform especialize "especialize1" o toUnpoly1
+
val toCore_untangle3 = transform core_untangle "core_untangle3" o toEspecialize1
val toShake3 = transform shake "shake3" o toCore_untangle3
@@ -973,19 +982,14 @@ val reduce = {
val toReduce = transform reduce "reduce" o toTag
-val unpoly = {
- func = Unpoly.unpoly,
- print = CorePrint.p_file CoreEnv.empty
-}
-
-val toUnpoly = transform unpoly "unpoly" o toReduce
+val toUnpoly2 = transform unpoly "unpoly2" o toReduce
val specialize = {
func = Specialize.specialize,
print = CorePrint.p_file CoreEnv.empty
}
-val toSpecialize = transform specialize "specialize" o toUnpoly
+val toSpecialize = transform specialize "specialize" o toUnpoly2
val toShake4 = transform shake "shake4" o toSpecialize