Mercurial > urweb
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 |