comparison src/compiler.sml @ 1181:618f9f458da9

Got split1 working, but noticed a nasty type inference bug with transplanted unification variables
author Adam Chlipala <adamc@hcoop.net>
date Sat, 06 Mar 2010 19:14:48 -0500
parents 983d9b38abc7
children 9d3ccb8b39ac
comparison
equal deleted inserted replaced
1180:ac3dbbc85c6e 1181:618f9f458da9
953 953
954 val toRpcify = transform rpcify "rpcify" o toShake1 954 val toRpcify = transform rpcify "rpcify" o toShake1
955 955
956 val toCore_untangle2 = transform core_untangle "core_untangle2" o toRpcify 956 val toCore_untangle2 = transform core_untangle "core_untangle2" o toRpcify
957 val toShake2 = transform shake "shake2" o toCore_untangle2 957 val toShake2 = transform shake "shake2" o toCore_untangle2
958 val toEspecialize1 = transform especialize "especialize1" o toShake2 958
959 val unpoly = {
960 func = Unpoly.unpoly,
961 print = CorePrint.p_file CoreEnv.empty
962 }
963
964 val toUnpoly1 = transform unpoly "unpoly1" o toShake2
965
966 val toEspecialize1 = transform especialize "especialize1" o toUnpoly1
967
959 val toCore_untangle3 = transform core_untangle "core_untangle3" o toEspecialize1 968 val toCore_untangle3 = transform core_untangle "core_untangle3" o toEspecialize1
960 val toShake3 = transform shake "shake3" o toCore_untangle3 969 val toShake3 = transform shake "shake3" o toCore_untangle3
961 970
962 val tag = { 971 val tag = {
963 func = Tag.tag, 972 func = Tag.tag,
971 print = CorePrint.p_file CoreEnv.empty 980 print = CorePrint.p_file CoreEnv.empty
972 } 981 }
973 982
974 val toReduce = transform reduce "reduce" o toTag 983 val toReduce = transform reduce "reduce" o toTag
975 984
976 val unpoly = { 985 val toUnpoly2 = transform unpoly "unpoly2" o toReduce
977 func = Unpoly.unpoly,
978 print = CorePrint.p_file CoreEnv.empty
979 }
980
981 val toUnpoly = transform unpoly "unpoly" o toReduce
982 986
983 val specialize = { 987 val specialize = {
984 func = Specialize.specialize, 988 func = Specialize.specialize,
985 print = CorePrint.p_file CoreEnv.empty 989 print = CorePrint.p_file CoreEnv.empty
986 } 990 }
987 991
988 val toSpecialize = transform specialize "specialize" o toUnpoly 992 val toSpecialize = transform specialize "specialize" o toUnpoly2
989 993
990 val toShake4 = transform shake "shake4" o toSpecialize 994 val toShake4 = transform shake "shake4" o toSpecialize
991 995
992 val toEspecialize2 = transform especialize "especialize2" o toShake4 996 val toEspecialize2 = transform especialize "especialize2" o toShake4
993 997