Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-04-08 20:24:23 -0700 (Thu, 08 Apr 2004)
Revision: 5624
Log message:

      Stuck in CPS conversion without naming.  There is a bug in CPS;
      it generates code of the form:
      
         let cont : (int -> void) = lambda (res: int). res in ...
      
      No good.  This can be reproduced in Mmc_int_test.test_cps.
      
      There is another longer term problem.  We are starting to get some
      code duplication.  For example, suppose we have a rule that is defined
      for a specific param.  Consider the following:
      
         prim foo :
            ... Lambda["std"] ...
      
      Later, we add a new kind of lambda that is slightly different.  So we copy
      the rule text, just changing the parameter:
      
         prim foo_bar :
            ... Lambda["bar"] ...
      
      This is painful.
      

Changes  Path
+40 -38 mpcompiler/mmc/core/mmc_core_cps.ml
+14 -1 mpcompiler/mmc/core/mmc_core_cps.mli
+2 -0 mpcompiler/mmc/core/mmc_core_front.ml
+39 -9 mpcompiler/mmc/core/mmc_core_type_check.ml
+1 -0 mpcompiler/mmc/core/mmc_core_type_check.mli
+37 -1 mpcompiler/mmc/extensions/direct/mmc_ext_direct.ml
+11 -0 mpcompiler/mmc/test/mmc_int_test.ml