comparison src/compiler.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 e8a35d710ab9
children d069b193ed6b
comparison
equal deleted inserted replaced
1061:e8a35d710ab9 1062:3bc726a822fb
751 751
752 val toRpcify = transform rpcify "rpcify" o toShake1 752 val toRpcify = transform rpcify "rpcify" o toShake1
753 753
754 val toCore_untangle2 = transform core_untangle "core_untangle2" o toRpcify 754 val toCore_untangle2 = transform core_untangle "core_untangle2" o toRpcify
755 val toShake2 = transform shake "shake2" o toCore_untangle2 755 val toShake2 = transform shake "shake2" o toCore_untangle2
756 val toEspecialize1 = transform especialize "especialize1" o toShake2
757 val toCore_untangle3 = transform core_untangle "core_untangle3" o toEspecialize1
758 val toShake3 = transform shake "shake3" o toCore_untangle3
756 759
757 val tag = { 760 val tag = {
758 func = Tag.tag, 761 func = Tag.tag,
759 print = CorePrint.p_file CoreEnv.empty 762 print = CorePrint.p_file CoreEnv.empty
760 } 763 }
761 764
762 val toTag = transform tag "tag" o toCore_untangle2 765 val toTag = transform tag "tag" o toShake3
763 766
764 val reduce = { 767 val reduce = {
765 func = Reduce.reduce, 768 func = Reduce.reduce,
766 print = CorePrint.p_file CoreEnv.empty 769 print = CorePrint.p_file CoreEnv.empty
767 } 770 }
780 print = CorePrint.p_file CoreEnv.empty 783 print = CorePrint.p_file CoreEnv.empty
781 } 784 }
782 785
783 val toSpecialize = transform specialize "specialize" o toUnpoly 786 val toSpecialize = transform specialize "specialize" o toUnpoly
784 787
785 val toShake3 = transform shake "shake3" o toSpecialize 788 val toShake4 = transform shake "shake4" o toSpecialize
786 789
787 val toEspecialize = transform especialize "especialize" o toShake3 790 val toEspecialize2 = transform especialize "especialize2" o toShake4
788 791
789 val toReduce2 = transform reduce "reduce2" o toEspecialize 792 val toReduce2 = transform reduce "reduce2" o toEspecialize2
790 793
791 val toShake4 = transform shake "shake4" o toReduce2 794 val toShake5 = transform shake "shake5" o toReduce2
792 795
793 val marshalcheck = { 796 val marshalcheck = {
794 func = (fn file => (MarshalCheck.check file; file)), 797 func = (fn file => (MarshalCheck.check file; file)),
795 print = CorePrint.p_file CoreEnv.empty 798 print = CorePrint.p_file CoreEnv.empty
796 } 799 }
797 800
798 val toMarshalcheck = transform marshalcheck "marshalcheck" o toShake4 801 val toMarshalcheck = transform marshalcheck "marshalcheck" o toShake5
799 802
800 val effectize = { 803 val effectize = {
801 func = Effective.effectize, 804 func = Effective.effectize,
802 print = CorePrint.p_file CoreEnv.empty 805 print = CorePrint.p_file CoreEnv.empty
803 } 806 }