Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-03 10:57:48 -0800 (Wed, 03 Mar 2004)
Revision: 5424
Log message:

      Fixed some bugs in type checking.
      

Changes  Path
+190 -945 mpcompiler/mmc/core/core_test.prla
+1 -0 mpcompiler/mmc/core/mmc_core_closure.mli
+3 -0 mpcompiler/mmc/core/mmc_core_cps.ml
+2 -2 mpcompiler/mmc/core/mmc_core_type_check.ml
+7 -7 mpcompiler/mmc/core/mmc_core_type_infer.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-03 23:29:05 -0800 (Wed, 03 Mar 2004)
Revision: 5425
Log message:

      Added "I am stuck where I should not be" error reporting to Naming and CPS.
      Untested for now.
      

Changes  Path
+2 -3 metaprl/support/tactics/top_conversionals.ml
+1 -1 mpcompiler/mmc/core/core_sequent.ml
+6 -0 mpcompiler/mmc/core/mmc_core_cps.ml
+7 -0 mpcompiler/mmc/core/mmc_core_name.ml
+12 -19 mpcompiler/mmc/core/mmc_core_util.ml
+6 -7 mpcompiler/mmc/core/mmc_core_util.mli

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-06 16:05:32 -0800 (Sat, 06 Mar 2004)
Revision: 5427
Log message:

      Fixes to type checking and tuples.  CPS is still broken.
      

Changes  Path
+0 -1 mpcompiler/mmc/core/Files
Deleted mpcompiler/mmc/core/core_sequent.ml
Deleted mpcompiler/mmc/core/core_sequent.mli
+605 -618 mpcompiler/mmc/core/core_test.prla
+47 -17 mpcompiler/mmc/core/core_tuple.ml
+4 -2 mpcompiler/mmc/core/core_tuple.mli
+37 -12 mpcompiler/mmc/core/mmc_core_cps.ml
+0 -1 mpcompiler/mmc/core/mmc_core_cps.mli
+1 -1 mpcompiler/mmc/core/mmc_core_tast.ml
+0 -1 mpcompiler/mmc/core/mmc_core_theory.ml
+21 -19 mpcompiler/mmc/core/mmc_core_type_util.ml
+1 -1 mpcompiler/mmc/core/mmc_core_type_util.mli

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-07 00:30:20 -0800 (Sun, 07 Mar 2004)
Revision: 5430
Log message:

      Added an extra intermediate form of Let so that CPS won't go into an infinite
      loop.  It's still broken but should be easier to debug now.
      

Changes  Path
+9 -2 mpcompiler/mmc/core/mmc_core_cps.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-08 03:26:17 -0800 (Mon, 08 Mar 2004)
Revision: 5433
Log message:

      Allow repeating contexts in redeces (bug 165).
      This is a partial fix (does not allow for full alpha-renaming when comparing
      two context instances) and is not much tested.
      

Changes  Path
+3 -3 metaprl/refiner/rewrite/rewrite_build_contractum.ml
+1 -1 metaprl/refiner/rewrite/rewrite_compile_contractum.ml
+22 -15 metaprl/refiner/rewrite/rewrite_compile_redex.ml
+2 -2 metaprl/refiner/rewrite/rewrite_debug.ml
+51 -22 metaprl/refiner/rewrite/rewrite_match_redex.ml
+1 -1 metaprl/refiner/rewrite/rewrite_types.ml
+14 -17 mpcompiler/mmc/core/mmc_core_cps.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-08 11:42:48 -0800 (Mon, 08 Mar 2004)
Revision: 5435
Log message:

      Added an mcc_main.ml file as the outermost compiler.
      

Changes  Path
+1 -1 metaprl/support/tactics/top_conversionals.mli
+4 -2 mpcompiler/mmc/OMakefile
Added mpcompiler/mmc/main/Files
Properties mpcompiler/mmc/main/Files
Added mpcompiler/mmc/main/OMakefile
Properties mpcompiler/mmc/main/OMakefile
Added mpcompiler/mmc/main/mmc_theory.ml
Properties mpcompiler/mmc/main/mmc_theory.ml
Added mpcompiler/mmc/main/mmc_theory.mli
Properties mpcompiler/mmc/main/mmc_theory.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-08 11:56:24 -0800 (Mon, 08 Mar 2004)
Revision: 5436
Log message:

      Added the X86 instruction set.
      

Changes  Path
+3 -1 mpcompiler/mmc/OMakefile
+1 -1 mpcompiler/mmc/arch/OMakefile
Added mpcompiler/mmc/arch/x86/Files
Properties mpcompiler/mmc/arch/x86/Files
Added mpcompiler/mmc/arch/x86/OMakefile
Properties mpcompiler/mmc/arch/x86/OMakefile
Added mpcompiler/mmc/arch/x86/mcc_x86_inst_type.mlz
Properties mpcompiler/mmc/arch/x86/mcc_x86_inst_type.mlz
Added mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_asm.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_asm.mli
+1 -2 mpcompiler/mmc/main/mmc_theory.ml
+1 -1 mpcompiler/mmc/main/mmc_theory.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-08 12:27:22 -0800 (Mon, 08 Mar 2004)
Revision: 5437
Log message:

      Added an empty code generator based on the M compiler.
      

Changes  Path
+4 -2 mpcompiler/mmc/OMakefile
+2 -0 mpcompiler/mmc/arch/x86/Files
+1 -1 mpcompiler/mmc/arch/x86/OMakefile
Added mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_codegen.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_codegen.mli
Added mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_frame.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_frame.mli
Added mpcompiler/util/Files
Properties mpcompiler/util/Files
Added mpcompiler/util/OMakefile
Properties mpcompiler/util/OMakefile
Added mpcompiler/util/mmc_arith.ml
Properties mpcompiler/util/mmc_arith.ml
Added mpcompiler/util/mmc_arith.mli
Properties mpcompiler/util/mmc_arith.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-08 12:29:36 -0800 (Mon, 08 Mar 2004)
Revision: 5438
Log message:

      Added .cvsignore files.
      

Changes  Path
Properties mpcompiler/mmc/arch/x86
Properties mpcompiler/mmc/main
Properties mpcompiler/util

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-08 12:53:25 -0800 (Mon, 08 Mar 2004)
Revision: 5439
Log message:

      Updated caml-mode to handle quotations correctly.
      

Changes  Path
+43 -2 metaprl/editor/emacs/caml.el
Binary metaprl/editor/emacs/caml.elc
+8 -0 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-09 01:18:33 -0800 (Tue, 09 Mar 2004)
Revision: 5442
Log message:

      Declared the .mlz file.
      

Changes  Path
+3 -1 mpcompiler/mmc/arch/x86/OMakefile

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-09 05:23:47 -0800 (Tue, 09 Mar 2004)
Revision: 5443
Log message:

      Removing the distinction between the Hypothesis and HypBinding - it was
      causing too much trouble unnecessarily complicating a lot of code.
      
      The IO part of the distinction is still there - on IO the "unused" bindings
      are interpreted as variables with an empty "string" part.
      

Changes  Path
+6 -3 metaprl/filter/base/filter_magic.ml
+1 -2 metaprl/filter/base/filter_type.ml
+2 -5 metaprl/filter/filter/filter_parse.ml
+1 -4 metaprl/filter/filter/filter_patt.ml
+9 -9 metaprl/filter/filter/term_grammar.ml
+18 -66 metaprl/refiner/refiner/refine.ml
+10 -10 metaprl/refiner/reflib/ascii_io.ml
+5 -5 metaprl/refiner/reflib/dform.ml
+3 -6 metaprl/refiner/reflib/match_seq.ml
+5 -7 metaprl/refiner/reflib/refine_exn.ml
+9 -17 metaprl/refiner/reflib/simple_print.ml
+1 -2 metaprl/refiner/reflib/term_compare.ml
+1 -3 metaprl/refiner/reflib/term_match_table.ml
+0 -1 metaprl/refiner/refsig/refine_sig.ml
+3 -4 metaprl/refiner/refsig/term_hash_sig.ml
+0 -1 metaprl/refiner/refsig/term_man_minimal_sig.ml
+0 -2 metaprl/refiner/refsig/term_man_sig.ml
+3 -3 metaprl/refiner/refsig/term_meta_sig.ml
+4 -5 metaprl/refiner/refsig/term_sig.ml
+1 -2 metaprl/refiner/rewrite/rewrite.ml
+5 -15 metaprl/refiner/rewrite/rewrite_build_contractum.ml
+2 -9 metaprl/refiner/rewrite/rewrite_compile_contractum.ml
+5 -13 metaprl/refiner/rewrite/rewrite_compile_redex.ml
+2 -5 metaprl/refiner/rewrite/rewrite_debug.ml
+7 -18 metaprl/refiner/rewrite/rewrite_match_redex.ml
+1 -2 metaprl/refiner/rewrite/rewrite_types.ml
+8 -11 metaprl/refiner/term_ds/term_addr_ds.ml
+4 -10 metaprl/refiner/term_ds/term_base_ds.ml
+15 -38 metaprl/refiner/term_ds/term_man_ds.ml
+4 -8 metaprl/refiner/term_ds/term_op_ds.ml
+4 -9 metaprl/refiner/term_ds/term_subst_ds.ml
+7 -16 metaprl/refiner/term_gen/term_hash.ml
+1 -2 metaprl/refiner/term_gen/term_header_constr.ml
+6 -42 metaprl/refiner/term_gen/term_man_gen.ml
+40 -23 metaprl/refiner/term_gen/term_meta_gen.ml
+23 -32 metaprl/support/display/base_dform.ml
+1 -1 metaprl/support/tactics/auto_tactic.ml
+84 -89 metaprl/support/tactics/dtactic.ml
+1 -9 metaprl/support/tactics/tactic_cache.ml
+3 -7 metaprl/support/tactics/top_tacticals.ml
+1 -8 metaprl/support/tactics/typeinf.ml
+1 -3 metaprl/tactics/proof/proof_boot.ml
+1 -1 metaprl/tactics/proof/sequent_boot.ml
+1 -1 metaprl/tactics/proof/tactic_boot.ml
+1 -1 metaprl/theories/itt/itt_int_arith.ml
+34 -45 metaprl/theories/itt/itt_logic.ml
+2 -2 metaprl/theories/itt/itt_squash.ml
+3 -3 metaprl/theories/tptp/tptp_load.ml
+4 -4 metaprl/theories/tptp/tptp_prove.ml
+1 -2 mpcompiler/mmc/core/mmc_core_closure.ml
+2 -1 mpcompiler/mmc/core/mmc_core_type_check.ml
+9 -12 mpcompiler/mmc/core/mmc_core_type_infer.ml

Changes by: Cristian Tapus (crt at cs.caltech.edu)
Date: 2004-03-10 11:01:10 -0800 (Wed, 10 Mar 2004)
Revision: 5446
Log message:

      Changes needed by CPS. Added a new resource for type_util.
      

Changes  Path
+1 -1 mpcompiler/mmc/core/core_test.ml
+1 -1 mpcompiler/mmc/core/mmc_core_ast.ml
+2 -0 mpcompiler/mmc/core/mmc_core_cps.ml
+3 -3 mpcompiler/mmc/core/mmc_core_type_infer.ml
+40 -15 mpcompiler/mmc/core/mmc_core_type_util.ml
+13 -0 mpcompiler/mmc/core/mmc_core_type_util.mli
+3 -1 mpcompiler/mmc/core/mmc_core_util.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-10 23:20:39 -0800 (Wed, 10 Mar 2004)
Revision: 5447
Log message:

      Reverting the "uncomment eprintfs" change that Cristian have accidentally
      committed this morning.
      

Changes  Path
+3 -3 mpcompiler/mmc/core/mmc_core_type_infer.ml

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-11 17:30:15 -0800 (Thu, 11 Mar 2004)
Revision: 5449
Log message:

      Includes the latest developments in CPS.
      

Changes  Path
+28 -29 mpcompiler/mmc/core/mmc_core_cps.ml
+6 -3 mpcompiler/mmc/core/mmc_core_type_infer.ml
+30 -78 mpcompiler/mmc/core/mmc_core_type_util.ml
+3 -5 mpcompiler/mmc/core/mmc_core_type_util.mli

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-12 17:27:08 -0800 (Fri, 12 Mar 2004)
Revision: 5454
Log message:

      Implemented the grand unified CPS theory.  Exposes a MetaPRL bug.
      

Changes  Path
+6 -3 mpcompiler/mmc/OMakefile
+147 -136 mpcompiler/mmc/core/mmc_core_cps.ml
+7 -2 mpcompiler/mmc/core/mmc_core_cps.mli
+1 -0 mpcompiler/mmc/core/mmc_core_tast_util.ml
+1 -0 mpcompiler/mmc/core/mmc_core_type_util.mli

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-13 13:19:13 -0800 (Sat, 13 Mar 2004)
Revision: 5456
Log message:

      Use proper formatting for Invalid_argument and Failure exceptions.
      

Changes  Path
+8 -5 metaprl/refiner/reflib/refine_exn.ml
+1 -3 mpcompiler/mmc/core/mmc_core_util.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-13 15:43:10 -0800 (Sat, 13 Mar 2004)
Revision: 5457
Log message:

      In cpsC, repeat at each node as many times as necessary before descending
      into subterms.
      

Changes  Path
+20 -1 metaprl/refiner/term_ds/term_addr_ds.ml
+4 -4 mpcompiler/mmc/core/mmc_core_cps.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-13 18:22:36 -0800 (Sat, 13 Mar 2004)
Revision: 5458
Log message:

      Adding an explicit input type for the exit term.
      

Changes  Path
+13 -5 mpcompiler/mmc/core/mmc_core_cps.ml
+4 -2 mpcompiler/mmc/core/mmc_core_cps.mli

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-15 16:43:27 -0800 (Mon, 15 Mar 2004)
Revision: 5459
Log message:

      Started reorganizing directory structure.  We talked about renaming these files
      but I figured I should wait until we have a firm decision about what the new
      names should be.  The build philosophy for the new layout is that the build
      info lives in the root of the extensions directory tree.  Each extension
      sub-directory contains only code, no build files.  This was a somewhat
      arbitrary choice, but it seems good to me to keep the build control
      centralized.
      
      I know that we are going to put the backend code for each extension in the
      normal extension subdirectory, but what did we decide about the core backend
      code?  Do we leave it the way it is now?
      

Changes  Path
+8 -7 mpcompiler/mmc/extensions/Files
Added mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer.ml
Properties mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer.ml
Added mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer.mli
Properties mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer.mli
Added mpcompiler/mmc/extensions/array/mmc_ext_array.ml
Properties mpcompiler/mmc/extensions/array/mmc_ext_array.ml
Added mpcompiler/mmc/extensions/array/mmc_ext_array.mli
Properties mpcompiler/mmc/extensions/array/mmc_ext_array.mli
Added mpcompiler/mmc/extensions/bool/mmc_ext_bool.ml
Properties mpcompiler/mmc/extensions/bool/mmc_ext_bool.ml
Added mpcompiler/mmc/extensions/bool/mmc_ext_bool.mli
Properties mpcompiler/mmc/extensions/bool/mmc_ext_bool.mli
Deleted mpcompiler/mmc/extensions/ext_arithmetic.ml
Deleted mpcompiler/mmc/extensions/ext_arithmetic.mli
Deleted mpcompiler/mmc/extensions/ext_arithmetic_integer.ml
Deleted mpcompiler/mmc/extensions/ext_arithmetic_integer.mli
Deleted mpcompiler/mmc/extensions/ext_array.ml
Deleted mpcompiler/mmc/extensions/ext_array.mli
Deleted mpcompiler/mmc/extensions/ext_boolean.ml
Deleted mpcompiler/mmc/extensions/ext_boolean.mli
Deleted mpcompiler/mmc/extensions/ext_fix.ml
Deleted mpcompiler/mmc/extensions/ext_fix.mli
Deleted mpcompiler/mmc/extensions/ext_int_test.ml
Deleted mpcompiler/mmc/extensions/ext_int_test.mli
Deleted mpcompiler/mmc/extensions/ext_integer.ml
Deleted mpcompiler/mmc/extensions/ext_integer.mli
Added mpcompiler/mmc/extensions/fix/mmc_ext_fix.ml
Properties mpcompiler/mmc/extensions/fix/mmc_ext_fix.ml
Added mpcompiler/mmc/extensions/fix/mmc_ext_fix.mli
Properties mpcompiler/mmc/extensions/fix/mmc_ext_fix.mli
Added mpcompiler/mmc/extensions/int/ext_int_test.ml
Properties mpcompiler/mmc/extensions/int/ext_int_test.ml
Added mpcompiler/mmc/extensions/int/ext_int_test.mli
Properties mpcompiler/mmc/extensions/int/ext_int_test.mli
Added mpcompiler/mmc/extensions/int/mmc_ext_int.ml
Properties mpcompiler/mmc/extensions/int/mmc_ext_int.ml
Added mpcompiler/mmc/extensions/int/mmc_ext_int.mli
Properties mpcompiler/mmc/extensions/int/mmc_ext_int.mli
Added mpcompiler/mmc/extensions/operator/mmc_ext_operator.ml
Properties mpcompiler/mmc/extensions/operator/mmc_ext_operator.ml
Added mpcompiler/mmc/extensions/operator/mmc_ext_operator.mli
Properties mpcompiler/mmc/extensions/operator/mmc_ext_operator.mli

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-15 22:44:46 -0800 (Mon, 15 Mar 2004)
Revision: 5461
Log message:

      Adding support for patterns that match _free_ FO variables.
      
      With this commit, any free FO variable in a redex or contractum is taken
      to be a pattern that would match an arbitrary _free_ FO variable. This is
      probably not going to be useful in ITT-like domains, where variables usually
      stand for arbitrary terms (and therefore there is not much difference between
      free FO variables and SO variables), but in programming language domains this
      capability of being able to have patters matching the object-level variables
      should be extremely useful.
      
      On IO, the 'v would still expand into 'v[] _SO_ variable when v is free.
      Therefore, on IO the free _FO_ variables are denoted using the !v syntax.
      
      The new syntax and new rewriting capabilities are not yet used (except in
      the term table, which will now use !v matching) and are not very well tested
      yet.
      

Changes  Path
+2 -0 metaprl/filter/filter/term_grammar.ml
+5 -1 metaprl/refiner/reflib/dform.ml
+1 -4 metaprl/refiner/reflib/term_match_table.ml
+7 -0 metaprl/refiner/refsig/term_meta_sig.ml
+17 -23 metaprl/refiner/rewrite/rewrite.ml
+4 -2 metaprl/refiner/rewrite/rewrite_compile_contractum.ml
+15 -2 metaprl/refiner/rewrite/rewrite_compile_redex.ml
+6 -2 metaprl/refiner/rewrite/rewrite_debug.ml
+16 -2 metaprl/refiner/rewrite/rewrite_match_redex.ml
+6 -1 metaprl/refiner/rewrite/rewrite_types.ml
+19 -15 metaprl/refiner/rewrite/rewrite_util.ml
+4 -0 metaprl/refiner/rewrite/rewrite_util_sig.ml
+24 -11 metaprl/refiner/term_gen/term_meta_gen.ml
+3 -0 metaprl/support/display/base_dform.ml
+0 -2 mpcompiler/mmc/core/mmc_core_type_check.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-15 23:18:25 -0800 (Mon, 15 Mar 2004)
Revision: 5462
Log message:

      The cpsT now works on test_prog1!
      
      TODO:
      - I've added the is_value function to core_type_infer. Currently it just
      checks whether the term is a Lambda, but it should be made resource-driven.
      - I had to add a rule for CPS{ !v; ...} in addition to the
       CPS{ Return{!v}; ...}. Why do we have the two? What is the difference
      between Return{!v} and !v? Should we get rid of Return?
      - The tylambda_intro_base needs to make sure the body of the TyLambda is a
      value.
      - It would be nice to type-check the result of cpsT (at least for testing,
      if not in the compiler proper).
      

Changes  Path
+12 -3 mpcompiler/mmc/core/mmc_core_cps.ml
+12 -1 mpcompiler/mmc/core/mmc_core_type_check.ml
+32 -22 mpcompiler/mmc/core/mmc_core_type_infer.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-15 23:40:20 -0800 (Mon, 15 Mar 2004)
Revision: 5463
Log message:

      The test_prog1 and test_prog5 type check after CPS!
      
      A new TODO:
      - A few test progs get stuck on TyCPS{HypsOfList{...}}. This means that we
      have to either get rid of the "Constrain" on cps_var and cps_return, or
      we have to define rewrites for
      sequent[TyCPS{tag}] { <H> >- sequent [tag] { HypsOfList {...} >- ... } }
      (which should not be too hard).
      

Changes  Path
+491 -388 mpcompiler/mmc/core/core_test.prla
+11 -2 mpcompiler/mmc/core/mmc_core_cps.ml
+1 -0 mpcompiler/mmc/core/mmc_core_cps.mli
+4 -1 mpcompiler/mmc/core/mmc_core_type_check.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-16 13:38:20 -0800 (Tue, 16 Mar 2004)
Revision: 5464
Log message:

      Added initial x86 code generation for the core.  It doesn't
      handle 1) variables, 2) functions, and 3) application.
      

Changes  Path
+54 -550 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+10 -1 mpcompiler/mmc/arch/x86/mmc_x86_codegen.mli

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-16 14:02:03 -0800 (Tue, 16 Mar 2004)
Revision: 5465
Log message:

      In the current CPS term semantics, there is no need to use Constraint
      when CPS'ing variables and Return statements.
      

Changes  Path
+398 -357 mpcompiler/mmc/core/core_test.prla
+2 -2 mpcompiler/mmc/core/mmc_core_cps.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-16 14:24:35 -0800 (Tue, 16 Mar 2004)
Revision: 5466
Log message:

      Migrating to the sequent notation in the backend.
      

Changes  Path
+6 -27 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+1 -7 mpcompiler/mmc/arch/x86/mmc_x86_asm.mli

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-16 15:23:07 -0800 (Tue, 16 Mar 2004)
Revision: 5467
Log message:

      forgot the .cvsignore files in the new extension directories
      

Changes  Path
Properties mpcompiler/mmc/extensions/arithmetic_integer
Properties mpcompiler/mmc/extensions/array
Properties mpcompiler/mmc/extensions/bool
Properties mpcompiler/mmc/extensions/fix
Properties mpcompiler/mmc/extensions/int
Properties mpcompiler/mmc/extensions/operator

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-16 15:40:33 -0800 (Tue, 16 Mar 2004)
Revision: 5468
Log message:

      Added backend support for variables, functions, and application.
      

Changes  Path
+6 -5 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_asm.mli
+68 -3 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-16 15:52:11 -0800 (Tue, 16 Mar 2004)
Revision: 5469
Log message:

      Moved the generic list utilities out of Core_list_util, and
      into Mcc_list_util.
      

Changes  Path
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+0 -0 mpcompiler/mmc/arch/x86/mmc_x86_codegen.mli
+4 -0 mpcompiler/mmc/core/OMakefile
+1 -0 mpcompiler/mmc/core/core_tuple.ml
+1 -0 mpcompiler/mmc/core/mmc_core_closure.ml
+2 -52 mpcompiler/mmc/core/mmc_core_list_util.ml
+0 -3 mpcompiler/mmc/core/mmc_core_list_util.mli
+1 -0 mpcompiler/util/Files
Added mpcompiler/util/mm_list_util.ml
Properties mpcompiler/util/mm_list_util.ml
Added mpcompiler/util/mm_list_util.mli
Properties mpcompiler/util/mm_list_util.mli

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-16 16:24:44 -0800 (Tue, 16 Mar 2004)
Revision: 5471
Log message:

      Getting rid of the Return operator.
      

Changes  Path
+0 -8 mpcompiler/mmc/core/mmc_core_cps.ml
+0 -1 mpcompiler/mmc/core/mmc_core_cps.mli
+4 -8 mpcompiler/mmc/core/mmc_core_name.ml
+6 -2 mpcompiler/mmc/core/mmc_core_name.mli
+0 -5 mpcompiler/mmc/core/mmc_core_type_check.ml
+0 -8 mpcompiler/mmc/core/mmc_core_type_erase.ml
+0 -14 mpcompiler/mmc/core/mmc_core_type_infer.ml

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-17 15:44:53 -0800 (Wed, 17 Mar 2004)
Revision: 5473
Log message:

      Changed over to Lambda[tag], TyFun[tag] and Apply[tag] in the typed AST.  tag
      can be either "c" for closures or "std" for standard functions.
      

Changes  Path
+36 -25 mpcompiler/mmc/core/mmc_core_closure.ml
+19 -19 mpcompiler/mmc/core/mmc_core_cps.ml
+26 -7 mpcompiler/mmc/core/mmc_core_tast.ml
+3 -2 mpcompiler/mmc/core/mmc_core_tast.mli
+27 -27 mpcompiler/mmc/core/mmc_core_type_check.ml
+6 -6 mpcompiler/mmc/core/mmc_core_type_erase.ml
+5 -5 mpcompiler/mmc/core/mmc_core_type_infer.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-17 16:31:20 -0800 (Wed, 17 Mar 2004)
Revision: 5474
Log message:

      Changed closure conversion.  This doesnt compile at the moment, to
      be fixed soon.
      

Changes  Path
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+79 -86 mpcompiler/mmc/core/mmc_core_closure.ml
+0 -1 mpcompiler/mmc/main/mmc_theory.ml

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-17 17:48:40 -0800 (Wed, 17 Mar 2004)
Revision: 5475
Log message:

      Finished closure conversion (maybe, hopefully).
      

Changes  Path
+5 -3 mpcompiler/mmc/OMakefile
+8 -0 mpcompiler/mmc/core/core_test.ml
+284 -67 mpcompiler/mmc/core/core_test.prla
+34 -66 mpcompiler/mmc/core/mmc_core_closure.ml
+0 -1 mpcompiler/mmc/core/mmc_core_closure.mli

Changes by: Cristian Tapus (crt at cs.caltech.edu)
Date: 2004-03-17 18:14:25 -0800 (Wed, 17 Mar 2004)
Revision: 5476
Log message:

      Cristian and Aleksey:
      
      - Added macros for including subdirectories from the Mojave theory.
      Now the subdirectories should _not_ have their own OMakefile's, unless
      they want to do something unusual.
      
      - Added minor fixes to get some of the extensions to compile.
      

Changes  Path
+25 -21 mpcompiler/mmc/OMakefile
+1 -1 mpcompiler/mmc/core/Files
Deleted mpcompiler/mmc/core/OMakefile
+1 -0 mpcompiler/mmc/core/mmc_core_cps.mli
Deleted mpcompiler/mmc/extensions/Files
Deleted mpcompiler/mmc/extensions/Makefile
Deleted mpcompiler/mmc/extensions/OMakefile
Added mpcompiler/mmc/extensions/arithmetic_integer/Files
Properties mpcompiler/mmc/extensions/arithmetic_integer/Files
Added mpcompiler/mmc/extensions/array/Files
Properties mpcompiler/mmc/extensions/array/Files
+9 -0 mpcompiler/mmc/extensions/array/mmc_ext_array.ml
Added mpcompiler/mmc/extensions/bool/Files
Properties mpcompiler/mmc/extensions/bool/Files
+15 -23 mpcompiler/mmc/extensions/bool/mmc_ext_bool.ml
Added mpcompiler/mmc/extensions/fix/Files
Properties mpcompiler/mmc/extensions/fix/Files
+2 -2 mpcompiler/mmc/extensions/fix/mmc_ext_fix.ml
Added mpcompiler/mmc/extensions/int/Files
Properties mpcompiler/mmc/extensions/int/Files
+9 -0 mpcompiler/mmc/extensions/int/mmc_ext_int.ml
Added mpcompiler/mmc/extensions/operator/Files
Properties mpcompiler/mmc/extensions/operator/Files
+1 -1 mpcompiler/util/Files
Deleted mpcompiler/util/OMakefile

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-17 21:37:42 -0800 (Wed, 17 Mar 2004)
Revision: 5477
Log message:

      !!! WARNING: With this commit, MetaPRL now requires omake >= 0.7.10 !!!
      
      - Updated the mpconfig to include all the Mojave extensions subdirectories
      - Fixed the "make clean" in the new theories/mojave/OMakefile
      

Changes  Path
+1 -1 metaprl/OMakefile
+1 -1 metaprl/editor/ml/mpconfig
+2 -5 mpcompiler/mmc/OMakefile

Changes by: Cristian Tapus (crt at cs.caltech.edu)
Date: 2004-03-17 22:21:30 -0800 (Wed, 17 Mar 2004)
Revision: 5478
Log message:

      
      Added a new directory for test files for extensions.
      Updated the extensions to use TyFun['tag] and Apply['tag]
      

Changes  Path
+4 -2 mpcompiler/mmc/OMakefile
+6 -5 mpcompiler/mmc/extensions/bool/mmc_ext_bool.ml
Deleted mpcompiler/mmc/extensions/ext_int_test.prla
Deleted mpcompiler/mmc/extensions/int/ext_int_test.ml
Deleted mpcompiler/mmc/extensions/int/ext_int_test.mli
Added mpcompiler/mmc/extensions/test/Files
Properties mpcompiler/mmc/extensions/test/Files
Added mpcompiler/mmc/extensions/test/ext_int_test.ml
Properties mpcompiler/mmc/extensions/test/ext_int_test.ml
Added mpcompiler/mmc/extensions/test/ext_int_test.mli
Properties mpcompiler/mmc/extensions/test/ext_int_test.mli

Changes by: ( at unknown.email)
Date: 2004-03-17 23:16:41 -0800 (Wed, 17 Mar 2004)
Revision: 5479
Log message:

      This commit was manufactured by cvs2svn to create branch
      'new_match_table'.

Changes  Path
Copied metaprl-branches/new_match_table
Deleted metaprl-branches/new_match_table/editor/ml/mpconfig
Copied metaprl-branches/new_match_table/theories/cic
Copied mpcompiler-branches/new_match_table
Copied texinputs-branches/new_match_table
Deleted texinputs-branches/new_match_table/1cm.sty
Deleted texinputs-branches/new_match_table/1cml.sty
Deleted texinputs-branches/new_match_table/Makefile
Deleted texinputs-branches/new_match_table/Makefile-common
Deleted texinputs-branches/new_match_table/PPR-macros.tex
Deleted texinputs-branches/new_match_table/PPRmyppr.sty
Deleted texinputs-branches/new_match_table/bcp.bib
Deleted texinputs-branches/new_match_table/citlogo.eps
Deleted texinputs-branches/new_match_table/citlogo2.eps
Deleted texinputs-branches/new_match_table/config.ppr
Deleted texinputs-branches/new_match_table/cornell-logo.eps
Deleted texinputs-branches/new_match_table/dag50.eps
Deleted texinputs-branches/new_match_table/der.tex
Deleted texinputs-branches/new_match_table/gate.eps
Deleted texinputs-branches/new_match_table/gate.pdf
Deleted texinputs-branches/new_match_table/include.tex
Deleted texinputs-branches/new_match_table/omscmsy.fd
Deleted texinputs-branches/new_match_table/ot1cmr.fd
Deleted texinputs-branches/new_match_table/ot1cmss.fd
Deleted texinputs-branches/new_match_table/ot1lcmss.fd
Deleted texinputs-branches/new_match_table/ot1lcmtt.fd
Deleted texinputs-branches/new_match_table/pprpdf
Deleted texinputs-branches/new_match_table/proof.sty
Deleted texinputs-branches/new_match_table/slides-nogin.cls
Deleted texinputs-branches/new_match_table/splncs.bst
Deleted texinputs-branches/new_match_table/umsa.fd
Deleted texinputs-branches/new_match_table/umsb.fd

Changes by: Cristian Tapus (crt at cs.caltech.edu)
Date: 2004-03-18 00:42:08 -0800 (Thu, 18 Mar 2004)
Revision: 5481
Log message:

      Forgot to add the .cvsignore in the test directory.
      

Changes  Path
Properties mpcompiler/mmc/extensions/test

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-18 16:48:16 -0800 (Thu, 18 Mar 2004)
Revision: 5486
Log message:

      Minor changes.
      

Changes  Path
+3 -3 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+5 -10 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-18 19:18:25 -0800 (Thu, 18 Mar 2004)
Revision: 5487
Log message:

      Initial pass a code3 generation with closures.
      

Changes  Path
+5 -2 mpcompiler/mmc/OMakefile
+1 -1 mpcompiler/mmc/arch/x86/Files
+0 -16 mpcompiler/mmc/arch/x86/OMakefile
+9 -9 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+3 -3 mpcompiler/mmc/arch/x86/mmc_x86_asm.mli
+94 -12 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-19 09:21:35 -0800 (Fri, 19 Mar 2004)
Revision: 5490
Log message:

      Added type checking to the codegen phase.
      

Changes  Path
+1 -0 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+1 -0 mpcompiler/mmc/core/mmc_core_theory.ml
+1 -0 mpcompiler/mmc/core/mmc_core_theory.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-19 09:25:38 -0800 (Fri, 19 Mar 2004)
Revision: 5491
Log message:

      Changed some :t parameters to :s.
      

Changes  Path
+10 -10 mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer.ml
+6 -6 mpcompiler/mmc/extensions/bool/mmc_ext_bool.ml
+10 -10 mpcompiler/mmc/extensions/operator/mmc_ext_operator.ml
+2 -2 mpcompiler/mmc/extensions/operator/mmc_ext_operator.mli

Changes by: Cristian Tapus (crt at cs.caltech.edu)
Date: 2004-03-19 09:43:56 -0800 (Fri, 19 Mar 2004)
Revision: 5492
Log message:

      added a couple well-formedness rules for arrays and integers.
      still missing a couple rules in arrays
      

Changes  Path
+15 -5 mpcompiler/mmc/extensions/array/mmc_ext_array.ml
+2 -0 mpcompiler/mmc/extensions/int/mmc_ext_int.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-19 10:21:31 -0800 (Fri, 19 Mar 2004)
Revision: 5493
Log message:

      Added code generation for integers.  Note, binary relations now use
      AtomRelop, not AtomBinop.
      

Changes  Path
+8 -2 mpcompiler/mmc/OMakefile
+3 -1 mpcompiler/mmc/extensions/arithmetic_integer/Files
+6 -6 mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer.ml
Added mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer_x86.ml
Properties mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer_x86.ml
Added mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer_x86.mli
Properties mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer_x86.mli
+40 -1 mpcompiler/mmc/extensions/operator/mmc_ext_operator.ml
+2 -0 mpcompiler/mmc/extensions/operator/mmc_ext_operator.mli
+8 -8 mpcompiler/mmc/extensions/test/ext_int_test.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-19 10:43:02 -0800 (Fri, 19 Mar 2004)
Revision: 5494
Log message:

      Added code generation for booleans.
      

Changes  Path
+10 -0 mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer_x86.ml
+3 -1 mpcompiler/mmc/extensions/bool/Files
Added mpcompiler/mmc/extensions/bool/mmc_ext_boolean_x86.ml
Properties mpcompiler/mmc/extensions/bool/mmc_ext_boolean_x86.ml
Added mpcompiler/mmc/extensions/bool/mmc_ext_boolean_x86.mli
Properties mpcompiler/mmc/extensions/bool/mmc_ext_boolean_x86.mli
+3 -1 mpcompiler/mmc/extensions/int/Files
Added mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.ml
Properties mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.ml
Added mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.mli
Properties mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.mli

Changes by: Cristian Tapus (crt at cs.caltech.edu)
Date: 2004-03-19 15:42:35 -0800 (Fri, 19 Mar 2004)
Revision: 5495
Log message:

      Removed ext_arithmetic files. Moving them to the integer extension
      

Changes  Path
Deleted mpcompiler/mmc/extensions/arithmetic_integer/Files
Deleted mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer.ml
Deleted mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer.mli
Deleted mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer_x86.ml
Deleted mpcompiler/mmc/extensions/arithmetic_integer/ext_arithmetic_integer_x86.mli

Changes by: Cristian Tapus (crt at cs.caltech.edu)
Date: 2004-03-19 16:19:35 -0800 (Fri, 19 Mar 2004)
Revision: 5497
Log message:

      Moved the ext_arithmetic_integer to the integer extension directory.
      
      Fixed CPS, type checking and type inference for all extensions except
      for fix... which is coming next.
      

Changes  Path
+1 -2 mpcompiler/mmc/OMakefile
+16 -7 mpcompiler/mmc/extensions/array/mmc_ext_array.ml
+10 -0 mpcompiler/mmc/extensions/bool/mmc_ext_bool.ml
+3 -1 mpcompiler/mmc/extensions/int/Files
Added mpcompiler/mmc/extensions/int/ext_arithmetic_integer.ml
Properties mpcompiler/mmc/extensions/int/ext_arithmetic_integer.ml
Added mpcompiler/mmc/extensions/int/ext_arithmetic_integer.mli
Properties mpcompiler/mmc/extensions/int/ext_arithmetic_integer.mli
Added mpcompiler/mmc/extensions/int/ext_arithmetic_integer_x86.ml
Properties mpcompiler/mmc/extensions/int/ext_arithmetic_integer_x86.ml
Added mpcompiler/mmc/extensions/int/ext_arithmetic_integer_x86.mli
Properties mpcompiler/mmc/extensions/int/ext_arithmetic_integer_x86.mli
+4 -0 mpcompiler/mmc/extensions/int/mmc_ext_int.ml
+0 -0 mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.ml
+28 -2 mpcompiler/mmc/extensions/operator/mmc_ext_operator.ml
+3 -3 mpcompiler/mmc/extensions/test/ext_int_test.ml

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-19 17:48:21 -0800 (Fri, 19 Mar 2004)
Revision: 5498
Log message:

      Fixed looping problem in sequent display forms.  There's still a slight visual
      bug, however.  Contexts are displayed as "_:H".
      
      Fixes bug #94.
      

Changes  Path
+26 -5 mpcompiler/mmc/core/mmc_core_ast.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-19 18:13:40 -0800 (Fri, 19 Mar 2004)
Revision: 5499
Log message:

      A bit nicer display forms for contexts in Mojave nested sequents.
      

Changes  Path
+10 -1 mpcompiler/mmc/core/mmc_core_ast.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-20 18:49:07 -0800 (Sat, 20 Mar 2004)
Revision: 5504
Log message:

      I've been having trouble with my connection...
      
      1. Added code generation for arrays
      2. Tuples are now an extension, and Core_tuple has been removed.
      

Changes  Path
+1 -0 mpcompiler/mmc/OMakefile
Added mpcompiler/mmc/arch/x86/mcc_x86_inst_type.ml
Properties mpcompiler/mmc/arch/x86/mcc_x86_inst_type.ml
Added mpcompiler/mmc/arch/x86/mcc_x86_inst_type.mli
Properties mpcompiler/mmc/arch/x86/mcc_x86_inst_type.mli
+3 -3 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_asm.mli
+3 -3 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+33 -0 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
+7 -0 mpcompiler/mmc/arch/x86/mmc_x86_frame.mli
+0 -1 mpcompiler/mmc/core/Files
+0 -1 mpcompiler/mmc/core/mmc_core_closure.ml
+3 -1 mpcompiler/mmc/extensions/array/Files
Added mpcompiler/mmc/extensions/array/mmc_ext_array_x86.ml
Properties mpcompiler/mmc/extensions/array/mmc_ext_array_x86.ml
Added mpcompiler/mmc/extensions/array/mmc_ext_array_x86.mli
Properties mpcompiler/mmc/extensions/array/mmc_ext_array_x86.mli
+1 -1 mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.ml
Properties mpcompiler/mmc/extensions/tuple
Added mpcompiler/mmc/extensions/tuple/Files
Properties mpcompiler/mmc/extensions/tuple/Files
Added mpcompiler/mmc/extensions/tuple/mmc_ext_tuple.ml
Properties mpcompiler/mmc/extensions/tuple/mmc_ext_tuple.ml
Added mpcompiler/mmc/extensions/tuple/mmc_ext_tuple.mli
Properties mpcompiler/mmc/extensions/tuple/mmc_ext_tuple.mli
+6 -1 mpcompiler/util/mmc_arith.ml
+1 -0 mpcompiler/util/mmc_arith.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-21 12:34:28 -0800 (Sun, 21 Mar 2004)
Revision: 5505
Log message:

      1. Added code generation for tuples.
      2. Merged the integer files.
      3. The codegen resource is now defined in x86_frame.  This is unfortunate
      .  but necessary, since the utilities in the frame need to be used during
      .  code generation.
      

Changes  Path
+3 -42 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+0 -3 mpcompiler/mmc/arch/x86/mmc_x86_codegen.mli
+65 -15 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
+17 -0 mpcompiler/mmc/arch/x86/mmc_x86_frame.mli
Deleted mpcompiler/mmc/core/core_tuple.ml
Deleted mpcompiler/mmc/core/core_tuple.mli
+1 -1 mpcompiler/mmc/extensions/array/mmc_ext_array_x86.ml
+1 -1 mpcompiler/mmc/extensions/bool/mmc_ext_boolean_x86.ml
+1 -3 mpcompiler/mmc/extensions/int/Files
Deleted mpcompiler/mmc/extensions/int/ext_arithmetic_integer.ml
Deleted mpcompiler/mmc/extensions/int/ext_arithmetic_integer.mli
Deleted mpcompiler/mmc/extensions/int/ext_arithmetic_integer_x86.ml
Deleted mpcompiler/mmc/extensions/int/ext_arithmetic_integer_x86.mli
+25 -0 mpcompiler/mmc/extensions/int/mmc_ext_int.ml
+8 -0 mpcompiler/mmc/extensions/int/mmc_ext_int.mli
+106 -1 mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.ml
+0 -1 mpcompiler/mmc/extensions/test/ext_int_test.ml
+0 -1 mpcompiler/mmc/extensions/test/ext_int_test.mli
+2 -1 mpcompiler/mmc/extensions/tuple/Files
Added mpcompiler/mmc/extensions/tuple/mmc_ext_tuple_x86.ml
Properties mpcompiler/mmc/extensions/tuple/mmc_ext_tuple_x86.ml
Added mpcompiler/mmc/extensions/tuple/mmc_ext_tuple_x86.mli
Properties mpcompiler/mmc/extensions/tuple/mmc_ext_tuple_x86.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-21 12:56:59 -0800 (Sun, 21 Mar 2004)
Revision: 5506
Log message:

      Added code generation for fix.  This is probably wrong, I believe the Fix
      will normally contain a closure application.
      

Changes  Path
+7 -0 mpcompiler/mmc/arch/x86/mmc_x86_codegen.mli
+3 -1 mpcompiler/mmc/extensions/fix/Files
+0 -0 mpcompiler/mmc/extensions/fix/mmc_ext_fix.ml
+7 -0 mpcompiler/mmc/extensions/fix/mmc_ext_fix.mli
Added mpcompiler/mmc/extensions/fix/mmc_ext_fix_x86.ml
Properties mpcompiler/mmc/extensions/fix/mmc_ext_fix_x86.ml
Added mpcompiler/mmc/extensions/fix/mmc_ext_fix_x86.mli
Properties mpcompiler/mmc/extensions/fix/mmc_ext_fix_x86.mli

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-21 13:51:37 -0800 (Sun, 21 Mar 2004)
Revision: 5508
Log message:

      Jason somehow commited .ml and .mli for an existing .mlz, removing.
      

Changes  Path
Deleted mpcompiler/mmc/arch/x86/mcc_x86_inst_type.ml
Deleted mpcompiler/mmc/arch/x86/mcc_x86_inst_type.mli

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-21 15:55:44 -0800 (Sun, 21 Mar 2004)
Revision: 5509
Log message:

      - Changed the dtactic module to use the new API
      (note: this changes the selT semantics slightly and adds full fall-back
      to both intro and elim).
      - Changed the compilers to use the new API.
      - Changed the get_bool_arg, get_sel_arg and get_int_arg to return an option
      instead of raising exception (since we always catch those exceptions anyway).
      
      MetaPRL finally compiles with the new API (but does not really run yet).
      

Changes  Path
+6 -3 metaprl-branches/new_match_table/filter/base/filter_magic.ml
+5 -0 metaprl-branches/new_match_table/filter/base/filter_summary.ml
+12 -12 metaprl-branches/new_match_table/support/tactics/auto_tactic.ml
+27 -119 metaprl-branches/new_match_table/support/tactics/dtactic.ml
+2 -3 metaprl-branches/new_match_table/support/tactics/simp_typeinf.ml
+2 -3 metaprl-branches/new_match_table/support/tactics/top_conversionals.ml
+4 -5 metaprl-branches/new_match_table/support/tactics/typeinf.ml
+10 -10 metaprl-branches/new_match_table/tactics/proof/tactic_boot.ml
+7 -7 metaprl-branches/new_match_table/tactics/proof/tactic_boot_sig.ml
+2 -6 metaprl-branches/new_match_table/tactics/proof/tacticals_boot.ml
+1 -1 metaprl-branches/new_match_table/theories/experimental/compile/m_closure.ml
+1 -1 metaprl-branches/new_match_table/theories/experimental/compile/m_cps.ml
+1 -1 metaprl-branches/new_match_table/theories/experimental/compile/m_dead.ml
+1 -1 metaprl-branches/new_match_table/theories/experimental/compile/m_ir_ast.ml
+1 -1 metaprl-branches/new_match_table/theories/experimental/compile/m_prog.ml
+1 -2 metaprl-branches/new_match_table/theories/experimental/compile/m_util.ml
+0 -1 metaprl-branches/new_match_table/theories/experimental/compile/m_util.mli
+2 -2 metaprl-branches/new_match_table/theories/experimental/compile/m_x86_opt.ml
+1 -1 metaprl-branches/new_match_table/theories/experimental/compile/m_x86_spill.ml
+14 -33 metaprl-branches/new_match_table/theories/itt/itt_bisect.ml
+5 -7 metaprl-branches/new_match_table/theories/itt/itt_disect.ml
+15 -33 metaprl-branches/new_match_table/theories/itt/itt_esquash.ml
+11 -31 metaprl-branches/new_match_table/theories/itt/itt_fun.ml
+4 -4 metaprl-branches/new_match_table/theories/itt/itt_int_base.ml
+3 -2 metaprl-branches/new_match_table/theories/itt/itt_logic.ml
+1 -3 metaprl-branches/new_match_table/theories/itt/itt_quotient.ml
+4 -4 metaprl-branches/new_match_table/theories/itt/itt_record.ml
+1 -1 mpcompiler-branches/new_match_table/mmc/core/mmc_core_cps.ml
+1 -1 mpcompiler-branches/new_match_table/mmc/core/mmc_core_name.ml
+1 -1 mpcompiler-branches/new_match_table/mmc/core/mmc_core_type_erase.ml
+1 -1 mpcompiler-branches/new_match_table/mmc/core/mmc_core_type_util.ml
+1 -2 mpcompiler-branches/new_match_table/mmc/core/mmc_core_util.ml
+0 -1 mpcompiler-branches/new_match_table/mmc/core/mmc_core_util.mli

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-22 13:35:56 -0800 (Mon, 22 Mar 2004)
Revision: 5516
Log message:

      Completed proof of fun_equal_base.  Closes bug #95.
      

Changes  Path
+4225 -1955 mpcompiler/mmc/core/mmc_core_type_check.prla

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-22 14:36:03 -0800 (Mon, 22 Mar 2004)
Revision: 5517
Log message:

      Yay, the phone company fixed my DSL!
      
      This is an intermediate commit while I work on the backend.  There are
      some minor changes to the instruction set, and I removed Mcc_x86_inst_type
      because there is no longer any need to convert terms to an ML data type.
      

Changes  Path
+1 -0 mpcompiler/mmc/OMakefile
+5 -5 mpcompiler/mmc/arch/ra/Files
Deleted mpcompiler/mmc/arch/ra/Makefile
Deleted mpcompiler/mmc/arch/ra/OMakefile
Added mpcompiler/mmc/arch/ra/mmc_ra_live.ml
Properties mpcompiler/mmc/arch/ra/mmc_ra_live.ml
Added mpcompiler/mmc/arch/ra/mmc_ra_live.mli
Properties mpcompiler/mmc/arch/ra/mmc_ra_live.mli
Added mpcompiler/mmc/arch/ra/mmc_ra_main.ml
Properties mpcompiler/mmc/arch/ra/mmc_ra_main.ml
Added mpcompiler/mmc/arch/ra/mmc_ra_main.mli
Properties mpcompiler/mmc/arch/ra/mmc_ra_main.mli
Added mpcompiler/mmc/arch/ra/mmc_ra_state.ml
Properties mpcompiler/mmc/arch/ra/mmc_ra_state.ml
Added mpcompiler/mmc/arch/ra/mmc_ra_state.mli
Properties mpcompiler/mmc/arch/ra/mmc_ra_state.mli
Added mpcompiler/mmc/arch/ra/mmc_ra_type.mlz
Properties mpcompiler/mmc/arch/ra/mmc_ra_type.mlz
Deleted mpcompiler/mmc/arch/ra/ra_live.ml
Deleted mpcompiler/mmc/arch/ra/ra_live.mli
Deleted mpcompiler/mmc/arch/ra/ra_main.ml
Deleted mpcompiler/mmc/arch/ra/ra_main.mli
Deleted mpcompiler/mmc/arch/ra/ra_state.ml
Deleted mpcompiler/mmc/arch/ra/ra_state.mli
Deleted mpcompiler/mmc/arch/ra/ra_type.mlz
+1 -1 mpcompiler/mmc/arch/x86/Files
Deleted mpcompiler/mmc/arch/x86/mcc_x86_inst_type.mlz
+8 -8 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+3 -3 mpcompiler/mmc/arch/x86/mmc_x86_asm.mli
Added mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_backend.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_backend.mli
+1 -1 mpcompiler/mmc/extensions/fix/mmc_ext_fix.mli

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-22 16:45:40 -0800 (Mon, 22 Mar 2004)
Revision: 5518
Log message:

      Trying to add proper support for .mlz files. I seem to be hitting an omake
      bug with it; committing it anyway to let Jason see it.
      

Changes  Path
+6 -1 mpcompiler/mmc/OMakefile
Deleted mpcompiler/mmc/arch/OMakefile
+2 -0 mpcompiler/mmc/arch/ra/Files

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-22 19:23:29 -0800 (Mon, 22 Mar 2004)
Revision: 5520
Log message:

      This is an initial commit of the x86_backend utilities.  This includes
      the printer, and the conversion to the abstract type used by the register
      allocator.  Still left: standardization and spill code generation.
      

Changes  Path
+23 -19 metaprl/theories/experimental/compile/m_x86_backend.ml
+1 -1 mpcompiler/mmc/arch/x86/Files
+5 -0 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+5 -0 mpcompiler/mmc/arch/x86/mmc_x86_asm.mli
+274 -178 mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
+19 -0 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
+4 -0 mpcompiler/mmc/arch/x86/mmc_x86_frame.mli

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-23 02:11:41 -0800 (Tue, 23 Mar 2004)
Revision: 5523
Log message:

      !!! WARNING : This commit breaks the .prlb compativility. !!!
      
      !!! This commit makes the "check_status" run about 1.5 times faster !!!
      
      This commit make a major change in how the Term_match_table is imlemented.
      Instead of the hash table at the top only (with linear lookup for subterms)
      this implementation uses the same functional term shape-indexed lookup tables
      at both the top and subterm level. During lookup, this implementation keeps
      an explicit list of "fallback" choices, which makes it easier to return more
      than one match. This implementation is much closer to the one presented
      in the paper submitted to TPHOLs.
      
      This makes a few changes to the semantics of the dT tactic:
      - Previously dT (both elim and intro) would only fall back to another tactic
      if it had the same _term_, now it will fall back to all that have the same
      _pattern_. For example, previously the entries for 'x='y in T, 'a in T and
      'b in T (for a specific T) were all considered separately and at most one
      would be tried, but now when applying the dT to a (t in T), all 3 could be
      tried.
      - Previously, if a pattern had both entires with select argument and entries
      without select argument, then the non-select entries were tried only when dT 0
      was called without the select argument. Now the non-select entries are always
      tried.
      
      This makes a change to the semantics of reduceC as well - now reduceC will try
      _all_ matches (from the most specific to the least specific), not just the most
      specific ones.
      
      The display forms are now handled as a resource, instead of being a "special"
      beast. This may cause the inheritance rules for display forms to change slightly,
      and a few extra "extend" directives might have to be added to compensate.
      

Changes  Path
+1 -1 metaprl/editor/ml/mp.mli
+0 -1 metaprl/editor/ml/mp_version.mli
+6 -3 metaprl/filter/base/filter_magic.ml
+6 -5 metaprl/filter/base/filter_summary.ml
+1 -5 metaprl/filter/base/filter_type.ml
+23 -11 metaprl/filter/filter/filter_parse.ml
+29 -48 metaprl/filter/filter/filter_prog.ml
+0 -1 metaprl/refiner/reflib/Files
+1 -0 metaprl/refiner/reflib/Makefile
+1 -0 metaprl/refiner/reflib/OMakefile
+110 -75 metaprl/refiner/reflib/dform.ml
+24 -12 metaprl/refiner/reflib/dform.mli
Deleted metaprl/refiner/reflib/dform_print.ml
Deleted metaprl/refiner/reflib/dform_print.mli
+288 -543 metaprl/refiner/reflib/term_match_table.ml
+34 -29 metaprl/refiner/reflib/term_match_table.mli
+3 -9 metaprl/refiner/reflib/theory.ml
+0 -5 metaprl/refiner/reflib/theory.mli
+2 -0 metaprl/refiner/refsig/term_shape_sig.ml
+1 -1 metaprl/support/shell/display_term.ml
+1 -1 metaprl/support/shell/display_term.mli
+0 -2 metaprl/support/shell/mptop.ml
+0 -11 metaprl/support/shell/package_info.ml
+1 -3 metaprl/support/shell/package_sig.mlz
+0 -1 metaprl/support/shell/proof_edit.ml
+1 -2 metaprl/support/shell/proof_edit.mli
+2 -11 metaprl/support/shell/shell.ml
+1 -1 metaprl/support/shell/shell_package.ml
+1 -1 metaprl/support/shell/shell_root.ml
+1 -2 metaprl/support/shell/shell_sig.mlz
+0 -1 metaprl/support/shell/shell_state.ml
+14 -14 metaprl/support/tactics/auto_tactic.ml
+43 -121 metaprl/support/tactics/dtactic.ml
+2 -3 metaprl/support/tactics/simp_typeinf.ml
+2 -3 metaprl/support/tactics/top_conversionals.ml
+0 -7 metaprl/support/tactics/top_tacticals.ml
+0 -1 metaprl/support/tactics/top_tacticals.mli
+4 -5 metaprl/support/tactics/typeinf.ml
+4 -3 metaprl/tactics/proof/proof_boot.ml
+3 -10 metaprl/tactics/proof/proof_term_boot.ml
+10 -10 metaprl/tactics/proof/tactic_boot.ml
+7 -7 metaprl/tactics/proof/tactic_boot_sig.ml
+2 -6 metaprl/tactics/proof/tacticals_boot.ml
+1 -1 metaprl/theories/experimental/compile/m_closure.ml
+1 -1 metaprl/theories/experimental/compile/m_cps.ml
+1 -1 metaprl/theories/experimental/compile/m_dead.ml
+1 -1 metaprl/theories/experimental/compile/m_ir_ast.ml
+1 -1 metaprl/theories/experimental/compile/m_post_parsing.ml
+1 -1 metaprl/theories/experimental/compile/m_prog.ml
+1 -2 metaprl/theories/experimental/compile/m_util.ml
+0 -1 metaprl/theories/experimental/compile/m_util.mli
+2 -2 metaprl/theories/experimental/compile/m_x86_opt.ml
+1 -1 metaprl/theories/experimental/compile/m_x86_spill.ml
+1 -1 metaprl/theories/experimental/unity/unity_theory.ml
+1 -2 metaprl/theories/experimental/unity/unity_util.ml
+0 -1 metaprl/theories/experimental/unity/unity_util.mli
+958 -1290 metaprl/theories/itt/itt_antiquotient.prla
+14 -33 metaprl/theories/itt/itt_bisect.ml
+5 -7 metaprl/theories/itt/itt_disect.ml
+15 -33 metaprl/theories/itt/itt_esquash.ml
+17 -0 metaprl/theories/itt/itt_field2.ml
+5682 -19578 metaprl/theories/itt/itt_field2.prla
+11 -31 metaprl/theories/itt/itt_fun.ml
+12309 -30104 metaprl/theories/itt/itt_group.prla
+4 -4 metaprl/theories/itt/itt_int_base.ml
+3 -2 metaprl/theories/itt/itt_logic.ml
+1 -3 metaprl/theories/itt/itt_quotient.ml
+18 -3 metaprl/theories/itt/itt_rat.ml
+9060 -11602 metaprl/theories/itt/itt_rat.prla
+4 -4 metaprl/theories/itt/itt_record.ml
+11 -26 metaprl/theories/itt/itt_set.ml
+801 -1038 metaprl/theories/itt/itt_set.prla
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
+1 -1 mpcompiler/mmc/core/mmc_core_cps.ml
+1 -1 mpcompiler/mmc/core/mmc_core_name.ml
+1 -1 mpcompiler/mmc/core/mmc_core_type_erase.ml
+1 -1 mpcompiler/mmc/core/mmc_core_type_util.ml
+1 -2 mpcompiler/mmc/core/mmc_core_util.ml
+0 -1 mpcompiler/mmc/core/mmc_core_util.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-23 09:57:15 -0800 (Tue, 23 Mar 2004)
Revision: 5524
Log message:

      Added the standardizer.
      

Changes  Path
+1 -0 mpcompiler/mmc/OMakefile
Properties mpcompiler/mmc/arch/util
Added mpcompiler/mmc/arch/util/Files
Properties mpcompiler/mmc/arch/util/Files
Added mpcompiler/mmc/arch/util/mmc_standardize.ml
Properties mpcompiler/mmc/arch/util/mmc_standardize.ml
Added mpcompiler/mmc/arch/util/mmc_standardize.mli
Properties mpcompiler/mmc/arch/util/mmc_standardize.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-23 11:21:43 -0800 (Tue, 23 Mar 2004)
Revision: 5525
Log message:

      Added the spill code generator.
      

Changes  Path
+4 -4 mpcompiler/mmc/OMakefile
+2 -1 mpcompiler/mmc/arch/x86/Files
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_asm.mli
+2 -3 mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_coalesce.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_coalesce.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_coalesce.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_coalesce.mli
Added mpcompiler/mmc/arch/x86/mmc_x86_regalloc.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_regalloc.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_regalloc.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_regalloc.mli
Added mpcompiler/mmc/arch/x86/mmc_x86_spill.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_spill.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_spill.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_spill.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-23 11:27:24 -0800 (Tue, 23 Mar 2004)
Revision: 5526
Log message:

      Added the coalescing phase.
      

Changes  Path
+2 -1 mpcompiler/mmc/arch/x86/Files
+17 -16 mpcompiler/mmc/arch/x86/mmc_x86_coalesce.ml
+2 -2 mpcompiler/mmc/arch/x86/mmc_x86_coalesce.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-23 11:29:02 -0800 (Tue, 23 Mar 2004)
Revision: 5527
Log message:

      Added the register allocator.  I believe the next step is to define a main
      function to pull all the parts of the backend together.
      

Changes  Path
+2 -1 mpcompiler/mmc/arch/x86/Files

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-23 11:43:20 -0800 (Tue, 23 Mar 2004)
Revision: 5528
Log message:

      The compiler is now with a complete x86 backend.  Undebugged, though.
      

Changes  Path
+2 -1 mpcompiler/mmc/arch/x86/Files
Added mpcompiler/mmc/arch/x86/mmc_x86_theory.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_theory.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_theory.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_theory.mli
+12 -0 mpcompiler/mmc/main/mmc_theory.ml

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-23 16:56:32 -0800 (Tue, 23 Mar 2004)
Revision: 5529
Log message:

      All the parts are complete, now we just need to hook them together.
      

Changes  Path
+1 -1 metaprl/editor/ml/mpconfig
+2 -2 metaprl/filter/filter/filter_parse.ml
+1 -1 metaprl/filter/filter/filter_patt.ml
+1 -0 mpcompiler/mmc/OMakefile
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_codegen.mli
+3 -3 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
+2 -2 mpcompiler/mmc/arch/x86/mmc_x86_frame.mli
+1 -1 mpcompiler/mmc/core/mmc_core_ast.ml
+86 -39 mpcompiler/mmc/core/mmc_core_closure.ml
+12 -0 mpcompiler/mmc/core/mmc_core_closure.mli
+13 -6 mpcompiler/mmc/core/mmc_core_cps.ml
+5 -7 mpcompiler/mmc/core/mmc_core_type_erase.ml
+6 -13 mpcompiler/mmc/core/mmc_core_type_infer.ml
+0 -1 mpcompiler/mmc/core/mmc_core_type_infer.mli
+72 -39 mpcompiler/mmc/extensions/fix/mmc_ext_fix.ml
+0 -6 mpcompiler/mmc/extensions/fix/mmc_ext_fix.mli
+2 -3 mpcompiler/mmc/extensions/fix/mmc_ext_fix_x86.ml
+10 -21 mpcompiler/mmc/extensions/test/ext_int_test.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-23 17:07:23 -0800 (Tue, 23 Mar 2004)
Revision: 5530
Log message:

      Dulicated the changes that Nathan did:/
      

Changes  Path
+0 -4 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+3 -3 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_frame.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-23 19:05:55 -0800 (Tue, 23 Mar 2004)
Revision: 5533
Log message:

      Minor OMakefile changes to use Mcc_theory as the compiler root.
      
      It seems to me that tests do not belong in extensions because
      we want to test more than just extensions.  What about a directory
      theories/mojave/test?
      

Changes  Path
+3 -1 mpcompiler/mmc/OMakefile
+1 -5 mpcompiler/mmc/extensions/test/ext_int_test.ml
+1 -3 mpcompiler/mmc/extensions/test/ext_int_test.mli
+1 -1 mpcompiler/mmc/main/Files
Deleted mpcompiler/mmc/main/OMakefile
+2 -1 mpcompiler/mmc/main/mmc_theory.ml
+16 -0 mpcompiler/mmc/main/mmc_theory.mli

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-23 19:16:10 -0800 (Tue, 23 Mar 2004)
Revision: 5534
Log message:

      Commenting out the eprintln line.
      

Changes  Path
+1 -1 mpcompiler/mmc/OMakefile

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-24 11:05:34 -0800 (Wed, 24 Mar 2004)
Revision: 5537
Log message:

      Proper code generation for Ext_int_test.test1.  To see the code, run
      the tactic (coreT thenT codegenT).
      
      Currently, standardization fails because it doesn't handle sequents.
      That's next.
      

Changes  Path
+22 -21 metaprl/filter/base/filter_cache_fun.ml
+5 -2 metaprl/filter/base/filter_summary.ml
+1 -1 mpcompiler/mmc/OMakefile
+6 -2 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+1 -0 mpcompiler/mmc/arch/x86/mmc_x86_asm.mli
+24 -14 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
+1 -1 mpcompiler/mmc/core/mmc_core_tast.ml
+1 -1 mpcompiler/mmc/core/mmc_core_theory.ml
+3 -1 mpcompiler/mmc/core/mmc_core_theory.mli
+4 -4 mpcompiler/mmc/extensions/fix/mmc_ext_fix_x86.ml
+6 -2 mpcompiler/mmc/extensions/int/mmc_ext_int.ml
+10 -10 mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.ml
+30 -9 mpcompiler/mmc/extensions/operator/mmc_ext_operator.ml
+5 -0 mpcompiler/mmc/extensions/operator/mmc_ext_operator.mli
+9 -8 mpcompiler/mmc/main/mmc_theory.ml
+5 -6 mpcompiler/mmc/main/mmc_theory.mli
+2 -2 mpcompiler/util/Files
+4 -9 mpcompiler/util/mm_list_util.ml
+1 -1 mpcompiler/util/mm_list_util.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-24 11:39:47 -0800 (Wed, 24 Mar 2004)
Revision: 5538
Log message:

      Minor fixes in code generation.
      

Changes  Path
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+8 -1 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+2 -1 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-24 12:55:12 -0800 (Wed, 24 Mar 2004)
Revision: 5540
Log message:

      Partial fix to the register renaming phase.
      

Changes  Path
+56 -42 mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+1 -1 mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-24 14:59:06 -0800 (Wed, 24 Mar 2004)
Revision: 5541
Log message:

      The renameT phase now works for the Ext_int_test.test1 example.
      

Changes  Path
+32 -3 mpcompiler/mmc/arch/util/mmc_standardize.ml
+20 -70 mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
+48 -1 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
+42 -0 mpcompiler/mmc/arch/x86/mmc_x86_frame.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-24 17:18:13 -0800 (Wed, 24 Mar 2004)
Revision: 5542
Log message:

      Added the Mcc_hoist module, to hoist closed expressions, in particular
      closed lambda expressions, to the top level.  Undebugged for now.
      

Changes  Path
+2 -1 mpcompiler/mmc/arch/util/Files
Added mpcompiler/mmc/arch/util/mmc_hoist.ml
Properties mpcompiler/mmc/arch/util/mmc_hoist.ml
Added mpcompiler/mmc/arch/util/mmc_hoist.mli
Properties mpcompiler/mmc/arch/util/mmc_hoist.mli
+5 -10 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_asm.mli
+16 -1 mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
+3 -4 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
+1 -0 mpcompiler/mmc/arch/x86/mmc_x86_theory.ml
+1 -0 mpcompiler/mmc/arch/x86/mmc_x86_theory.mli
+10 -8 mpcompiler/mmc/core/mmc_core_cps.ml
+2 -2 mpcompiler/mmc/core/mmc_core_cps.mli

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-24 18:15:28 -0800 (Wed, 24 Mar 2004)
Revision: 5543
Log message:

      1.  Fixed some bugs in bools and ints.
      2.  Cooked up a new Mandelbrot test case.  It uses cpp macros and I haven't
      .   worked out how to get omake to build it automatically, so for now I'm
      .   just committing the .ml and .mlp files.  I'll try to fix it...
      3.  Moved all tests to theories/mojave/test.
      

Changes  Path
+2 -1 metaprl/OMakefile
+8 -4 mpcompiler/mmc/OMakefile
+0 -1 mpcompiler/mmc/core/Files
Deleted mpcompiler/mmc/core/core_test.ml
Deleted mpcompiler/mmc/core/core_test.mli
+5 -5 mpcompiler/mmc/extensions/bool/mmc_ext_bool.ml
+6 -0 mpcompiler/mmc/extensions/int/mmc_ext_int.ml
Properties mpcompiler/mmc/test
Added mpcompiler/mmc/test/Files
Properties mpcompiler/mmc/test/Files
Added mpcompiler/mmc/test/mmc_core_test.ml
Properties mpcompiler/mmc/test/mmc_core_test.ml
Added mpcompiler/mmc/test/mmc_core_test.mli
Properties mpcompiler/mmc/test/mmc_core_test.mli
Added mpcompiler/mmc/test/mmc_ext_int_test.ml
Properties mpcompiler/mmc/test/mmc_ext_int_test.ml
Added mpcompiler/mmc/test/mmc_ext_int_test.mli
Properties mpcompiler/mmc/test/mmc_ext_int_test.mli
Added mpcompiler/mmc/test/mmc_ext_mandel.ml
Properties mpcompiler/mmc/test/mmc_ext_mandel.ml
Added mpcompiler/mmc/test/mmc_ext_mandel.mli
Properties mpcompiler/mmc/test/mmc_ext_mandel.mli

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-24 18:17:26 -0800 (Wed, 24 Mar 2004)
Revision: 5544
Log message:

      Oops, forgot this.
      

Changes  Path
Added mpcompiler/mmc/test/ext_mandel.mlp
Properties mpcompiler/mmc/test/ext_mandel.mlp

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-24 19:34:49 -0800 (Wed, 24 Mar 2004)
Revision: 5547
Log message:

      Added a couple new stages to the backend:
      .  Mcc_x86_opt1: very simple optimizations
      .  Mcc_x86_convention: make sure the machine conventions are respected
      .    (like at least one operand in a two-operand instruction should
      .     be a register, usually).
      

Changes  Path
+5 -9 mpcompiler/mmc/arch/util/mmc_hoist.ml
+3 -0 mpcompiler/mmc/arch/x86/Files
+26 -22 mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_codegen.mli
Added mpcompiler/mmc/arch/x86/mmc_x86_convention.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_convention.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_convention.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_convention.mli
Added mpcompiler/mmc/arch/x86/mmc_x86_opt1.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_opt1.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_opt1.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_opt1.mli
+2 -23 mpcompiler/mmc/arch/x86/mmc_x86_spill.ml
+8 -0 mpcompiler/mmc/arch/x86/mmc_x86_theory.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_util.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_util.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_util.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_util.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-24 20:02:14 -0800 (Wed, 24 Mar 2004)
Revision: 5548
Log message:

      Working on register allocation.  I get this sad failure:
      .   Failure:
      .       Lm_list_util.remove
      Bah.
      

Changes  Path
+8 -5 mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
+0 -7 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+3 -3 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
+8 -1 mpcompiler/mmc/arch/x86/mmc_x86_opt1.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-24 20:07:53 -0800 (Wed, 24 Mar 2004)
Revision: 5549
Log message:

      Register allocation seems to do something sensible on test2.
      

Changes  Path
Properties metaprl/editor/ml
+1 -1 mpcompiler/mmc/arch/ra/mmc_ra_main.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-24 20:45:13 -0800 (Wed, 24 Mar 2004)
Revision: 5554
Log message:

      The .prla needs to be moved too.
      

Changes  Path
Deleted mpcompiler/mmc/core/core_test.prla
Added mpcompiler/mmc/test/core_test.prla
Properties mpcompiler/mmc/test/core_test.prla

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-24 22:53:17 -0800 (Wed, 24 Mar 2004)
Revision: 5555
Log message:

      Created a partial Phobos grammar for the Mojave language (a number
      of extension is not fully supported) and converted some of the examples
      in ext_int_test to use Phobos quotations.
      

Changes  Path
+3 -3 metaprl/filter/phobos/phobos_lexer.mll
+13 -11 metaprl/filter/phobos/phobos_parser.mly
+3 -6 metaprl/util/ocamldep.mll
Properties mpcompiler/mmc
+1 -1 mpcompiler/mmc/OMakefile
+2 -0 mpcompiler/mmc/extensions/bool/mmc_ext_bool.ml
+2 -2 mpcompiler/mmc/extensions/int/mmc_ext_int.ml
Added mpcompiler/mmc/syntax.pho
Properties mpcompiler/mmc/syntax.pho
+5 -15 mpcompiler/mmc/test/mmc_ext_int_test.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-25 11:17:57 -0800 (Thu, 25 Mar 2004)
Revision: 5556
Log message:

      Yay, our first program (ext_int_test/test2) compiles, runs, and
      returns the right answer.  Ok, its only a start.
      
      Added the test/mcc script to run MetaPRL and assemble the output
      to produce an executable.  For example, in theories/mojave/test,
      run the following command.
      
         % ./mcc ext_int_test/test2
      
      This will generate an executable called test2.exe (sorry for the
      suffix, but we need CVS to ignore these files).
      
         % ./test2.exe
         Exit 9
      

Changes  Path
Properties metaprl/editor/ml
Deleted metaprl/editor/ml/.jyh
+1 -0 mpcompiler/mmc/OMakefile
+80 -6 mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
+10 -5 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
Properties mpcompiler/mmc/arch/x86/runtime
Added mpcompiler/mmc/arch/x86/runtime/Files
Properties mpcompiler/mmc/arch/x86/runtime/Files
Added mpcompiler/mmc/arch/x86/runtime/OMakefile
Properties mpcompiler/mmc/arch/x86/runtime/OMakefile
Added mpcompiler/mmc/arch/x86/runtime/x86_glue.s
Properties mpcompiler/mmc/arch/x86/runtime/x86_glue.s
Added mpcompiler/mmc/arch/x86/runtime/x86_runtime.c
Properties mpcompiler/mmc/arch/x86/runtime/x86_runtime.c
Properties mpcompiler/mmc/test
Added mpcompiler/mmc/test/mcc
Properties mpcompiler/mmc/test/mcc

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-25 12:16:53 -0800 (Thu, 25 Mar 2004)
Revision: 5557
Log message:

      Added build instructions to the top comment.
      

Changes  Path
+6 -1 mpcompiler/mmc/test/ext_mandel.mlp

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-25 15:30:51 -0800 (Thu, 25 Mar 2004)
Revision: 5558
Log message:

      Added a string extension.  Only constant strings for now.
      

Changes  Path
Properties mpcompiler/mmc/extensions/string
Added mpcompiler/mmc/extensions/string/Files
Properties mpcompiler/mmc/extensions/string/Files
Added mpcompiler/mmc/extensions/string/mmc_ext_string.ml
Properties mpcompiler/mmc/extensions/string/mmc_ext_string.ml
Added mpcompiler/mmc/extensions/string/mmc_ext_string.mli
Properties mpcompiler/mmc/extensions/string/mmc_ext_string.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-25 16:53:55 -0800 (Thu, 25 Mar 2004)
Revision: 5559
Log message:

      Fixed various bugs with things like using the untyped language
      in places where the typed language should be used.  Fixed a problem
      where the rules for closure conversion were not being used correctly
      in the resource.
      

Changes  Path
+1 -0 mpcompiler/mmc/core/Files
+2 -81 mpcompiler/mmc/core/mmc_core_ast.ml
+1 -24 mpcompiler/mmc/core/mmc_core_ast.mli
Added mpcompiler/mmc/core/mmc_core_base.ml
Properties mpcompiler/mmc/core/mmc_core_base.ml
Added mpcompiler/mmc/core/mmc_core_base.mli
Properties mpcompiler/mmc/core/mmc_core_base.mli
+11 -6 mpcompiler/mmc/core/mmc_core_closure.ml
+1 -1 mpcompiler/mmc/core/mmc_core_tast.ml
+1 -2 mpcompiler/mmc/core/mmc_core_tast.mli
+3 -3 mpcompiler/mmc/extensions/bool/mmc_ext_bool.ml
+1 -0 mpcompiler/mmc/extensions/tuple/mmc_ext_tuple.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-25 19:31:12 -0800 (Thu, 25 Mar 2004)
Revision: 5560
Log message:

      The hoist phase now lifts out closed functions correctly.
      
      Added a new function Lm_symbol.new_name_gen that acts as
      a new name generator.  See Mcc_hoist for an example of use.
      Sorry about the massive recompile...
      
      Added editor/ml/mpshell for those of use who prefer keeping
      the xterm around.
      

Changes  Path
Added metaprl/editor/ml/mpshell
Properties metaprl/editor/ml/mpshell
+28 -9 mpcompiler/mmc/arch/util/mmc_hoist.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-25 20:50:58 -0800 (Thu, 25 Mar 2004)
Revision: 5561
Log message:

      Pretty good code generation for factorial.  The next step is to figure out
      how to eliminate the intermediate mov's.
      

Changes  Path
+10 -2 mpcompiler/mmc/arch/util/mmc_hoist.ml
+1 -1 mpcompiler/mmc/arch/util/mmc_hoist.mli
+5 -2 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+16 -0 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+5 -0 mpcompiler/mmc/arch/x86/mmc_x86_codegen.mli
+0 -0 mpcompiler/mmc/arch/x86/mmc_x86_opt1.ml
+3 -3 mpcompiler/mmc/extensions/bool/mmc_ext_boolean_x86.ml
+3 -3 mpcompiler/mmc/extensions/fix/mmc_ext_fix_x86.ml
+1 -1 mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-25 21:00:30 -0800 (Thu, 25 Mar 2004)
Revision: 5562
Log message:

      Eliminated those pasky mov instructions for function definitions
      in the x86 backend.
      

Changes  Path
+24 -7 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+1 -0 mpcompiler/mmc/arch/x86/mmc_x86_codegen.mli
+12 -0 mpcompiler/mmc/extensions/fix/mmc_ext_fix_x86.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-25 21:09:43 -0800 (Thu, 25 Mar 2004)
Revision: 5563
Log message:

      Minor updates (display forms, Core_ast -> Core_base followup fixes, etc).
      

Changes  Path
+2 -0 mpcompiler/mmc/arch/x86/runtime/OMakefile
+0 -1 mpcompiler/mmc/core/mmc_core_base.mli
+2 -6 mpcompiler/mmc/core/mmc_core_tast.ml
+5 -3 mpcompiler/mmc/syntax.pho
+2 -1 mpcompiler/mmc/test/core_test.prla

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-25 23:17:47 -0800 (Thu, 25 Mar 2004)
Revision: 5564
Log message:

      Minor clean-up.
      

Changes  Path
+32 -38 metaprl/filter/base/filter_cache_fun.ml
+4 -12 metaprl/filter/filter/filter_parse.ml
+2 -1 mpcompiler/mmc/core/mmc_core_type_check.prla

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-26 10:35:58 -0800 (Fri, 26 Mar 2004)
Revision: 5567
Log message:

      . test_fact compiles, runs, and produces the correct answer!  At this
      . point the compiler is in fair working condition, and we should
      . spend the day organizing the paper.  We can finish the harder
      . examples in parallel.
      .
      . TODO:
      .    1. The quality of the code is pretty bad.  Some notable problems:
      .       a. All relations are bare at this point, even if the result
      .          is only used in a conditional.  We have code like this:
      .
      .          let b = (i == 0) in
      .             if b then e1[] else e2[]
      .
      .          The relation should be migrated into the conditional.
      .
      .          A related note: we are using set/cc to compute bare
      .          relations, but set/cc requires a byte register.  We
      .          will get a failure in the backend if the register
      .          allocator happens to choose %esi or %edi.  It is
      .          probably best to force the register choice here
      .          to, say, %edx.
      .
      .       b. The assembly has far too many register-to-register mov
      .          instructions.
      .       c. It looks like closures are being allocated even for
      .          recursive function calls.
      .       d. We don't do enough constant folding, so we get silly
      .          instruction sequences like this.
      .
      .             add $3, %eax   // eax += 3
      .             dec %eax      // eax--
      .
      .    2. Incomplete parts:
      .       a. Reserve is not implemented, so the garbage collector is
      .          never called.
      .       b. Even for factorial, there are no spills, so the spill
      .          code is not tested.
      .       c. Currently, every function uses the standard calling
      .          convention, where function arguments go in registers
      .          eax, ebx, ecx, edx, esi, edi.  This is both inefficient
      .          and it means we can't handle functions with more than
      .          6 arguments.
      

Changes  Path
+8 -6 mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
+53 -3 mpcompiler/mmc/arch/x86/mmc_x86_convention.ml
+4 -2 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
+4 -1 mpcompiler/mmc/arch/x86/mmc_x86_theory.ml
+2 -2 mpcompiler/mmc/extensions/bool/mmc_ext_boolean_x86.ml
+1 -1 mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.ml
+1 -1 mpcompiler/mmc/test/mmc_ext_int_test.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-26 18:44:40 -0800 (Fri, 26 Mar 2004)
Revision: 5568
Log message:

      Switched all of core_test and more of ext_int_test (including the
      factorial exaple) to the Phobos syntax.
      

Changes  Path
+1 -1 metaprl/filter/phobos/phobos_parser.mly
+32 -19 mpcompiler/mmc/syntax.pho
+29 -51 mpcompiler/mmc/test/mmc_core_test.ml
+8 -16 mpcompiler/mmc/test/mmc_ext_int_test.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-03-27 22:48:36 -0800 (Sat, 27 Mar 2004)
Revision: 5569
Log message:

      . Mainly a minor cleanup to make the code clearer.
      .     1. Added support for constant memory reservations.
      .        This is done informally, after the formal core operations.
      .     2. Added a few new stages to the backend for optimization,
      .        including register slop code, and dead instruction elimination
      .        (currently, this removes only Mov instructions).
      .
      . Note, Ext_int_test.test_fact is broken with the new parser...
      . I don't know why.  The original code is in Ext_int_test.test_fact_old.
      

Changes  Path
Properties metaprl/editor/ml
+7 -0 mpcompiler/mmc/arch/ra/mmc_ra_live.ml
+1 -0 mpcompiler/mmc/arch/ra/mmc_ra_type.mlz
+7 -6 mpcompiler/mmc/arch/util/mmc_standardize.ml
+2 -0 mpcompiler/mmc/arch/x86/Files
+7 -5 mpcompiler/mmc/arch/x86/mmc_x86_asm.ml
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_asm.mli
+56 -35 mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
+20 -28 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+0 -1 mpcompiler/mmc/arch/x86/mmc_x86_codegen.mli
Added mpcompiler/mmc/arch/x86/mmc_x86_dead.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_dead.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_dead.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_dead.mli
+0 -1 mpcompiler/mmc/arch/x86/mmc_x86_frame.mli
+27 -4 mpcompiler/mmc/arch/x86/mmc_x86_opt1.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_slop.ml
Properties mpcompiler/mmc/arch/x86/mmc_x86_slop.ml
Added mpcompiler/mmc/arch/x86/mmc_x86_slop.mli
Properties mpcompiler/mmc/arch/x86/mmc_x86_slop.mli
+3 -3 mpcompiler/mmc/arch/x86/mmc_x86_spill.ml
+12 -0 mpcompiler/mmc/arch/x86/mmc_x86_theory.ml
+3 -0 mpcompiler/mmc/arch/x86/mmc_x86_theory.mli
+2 -1 mpcompiler/mmc/core/Files
+3 -0 mpcompiler/mmc/core/mmc_core_cps.ml
Added mpcompiler/mmc/core/mmc_core_reserve.ml
Properties mpcompiler/mmc/core/mmc_core_reserve.ml
Added mpcompiler/mmc/core/mmc_core_reserve.mli
Properties mpcompiler/mmc/core/mmc_core_reserve.mli
+1 -1 mpcompiler/mmc/core/mmc_core_type_check.ml
+35 -17 mpcompiler/mmc/core/mmc_core_type_util.ml
+4 -4 mpcompiler/mmc/core/mmc_core_type_util.mli
+1 -0 mpcompiler/mmc/extensions/array/mmc_ext_array_x86.ml
+59 -15 mpcompiler/mmc/extensions/bool/mmc_ext_bool.ml
+24 -10 mpcompiler/mmc/extensions/fix/mmc_ext_fix.ml
+5 -16 mpcompiler/mmc/extensions/fix/mmc_ext_fix_x86.ml
+40 -40 mpcompiler/mmc/extensions/int/mmc_ext_int.ml
+1 -0 mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.ml
+79 -33 mpcompiler/mmc/extensions/operator/mmc_ext_operator.ml
+16 -13 mpcompiler/mmc/extensions/string/mmc_ext_string.ml
+34 -9 mpcompiler/mmc/extensions/tuple/mmc_ext_tuple.ml
+1 -0 mpcompiler/mmc/extensions/tuple/mmc_ext_tuple_x86.ml
Properties mpcompiler/mmc/test
+16 -0 mpcompiler/mmc/test/mmc_ext_int_test.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-28 17:07:19 -0800 (Sun, 28 Mar 2004)
Revision: 5570
Log message:

      - Fixed the argument order in the Phobos "let rec" parsing.
      
      - Made the treatment of empty TyAll sequents consistent. Different places
      of the code used to treat << sequent [TyAll] { >- 'ty } >> in different ways:
      .  a) as a TyAll that signifies a that the corresponding expression needs to be
      .  TyApply'ed to nil in order to get an expression of type 'ty
      .  b) as a type that is equivalent to 'ty
      .  c) as an invalid type.
      
      I tried changing it everywhere to use the (a) semantics.
      

Changes  Path
+4 -3 mpcompiler/mmc/core/mmc_core_closure.ml
+13 -12 mpcompiler/mmc/core/mmc_core_type_check.ml
+2561 -2598 mpcompiler/mmc/core/mmc_core_type_check.prla
+9 -8 mpcompiler/mmc/core/mmc_core_type_infer.ml
+0 -9 mpcompiler/mmc/core/mmc_core_type_util.ml
+0 -1 mpcompiler/mmc/core/mmc_core_type_util.mli
+10 -9 mpcompiler/mmc/extensions/array/mmc_ext_array.ml
+6 -5 mpcompiler/mmc/extensions/bool/mmc_ext_bool.ml
+3 -2 mpcompiler/mmc/extensions/fix/mmc_ext_fix.ml
+10 -9 mpcompiler/mmc/extensions/operator/mmc_ext_operator.ml
+3 -3 mpcompiler/mmc/extensions/tuple/mmc_ext_tuple.ml
+2 -2 mpcompiler/mmc/syntax.pho
+0 -16 mpcompiler/mmc/test/mmc_ext_int_test.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-28 18:42:05 -0800 (Sun, 28 Mar 2004)
Revision: 5571
Log message:

      This commit replaces Perv!cons and Perv!nil with Mcc_list_util!cons and
      Mcc_list_util!nil in all the ast/tast/tuple syntax. This is necessary
      because overriding display forms for Perv!cons and Perv!nil (as we used to do)
      causes problems (for example, comments were displayed incorrectly).
      

Changes  Path
+9 -8 mpcompiler/mmc/arch/x86/mmc_x86_backend.ml
+3 -2 mpcompiler/mmc/arch/x86/mmc_x86_spill.ml
+1 -0 mpcompiler/mmc/core/mmc_core_ast.ml
+1 -0 mpcompiler/mmc/core/mmc_core_ast.mli
+0 -9 mpcompiler/mmc/core/mmc_core_base.ml
+1 -0 mpcompiler/mmc/core/mmc_core_list_util.ml
+1 -0 mpcompiler/mmc/core/mmc_core_tast.ml
+1 -0 mpcompiler/mmc/core/mmc_core_tast.mli
+9 -8 mpcompiler/mmc/extensions/tuple/mmc_ext_tuple.ml
+1 -1 mpcompiler/mmc/syntax.pho
+30 -3 mpcompiler/util/mm_list_util.ml
+12 -1 mpcompiler/util/mm_list_util.mli

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-29 21:50:09 -0800 (Mon, 29 Mar 2004)
Revision: 5574
Log message:

      Fixing the code that was supposed to complain if more then one rule/rewrite/etc
      had the same name in the same theory.
      

Changes  Path
+74 -72 metaprl/filter/filter/filter_parse.ml
+1 -1 metaprl/theories/itt/itt_list2.ml
+0 -5 metaprl/theories/itt/itt_rfun.mli
+15 -28 metaprl/theories/itt/itt_set_str.ml
+1 -1 mpcompiler/mmc/arch/x86/mmc_x86_frame.ml
+1 -1 mpcompiler/mmc/extensions/int/mmc_ext_integer_x86.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-29 22:05:01 -0800 (Mon, 29 Mar 2004)
Revision: 5575
Log message:

      Adding tail-call optimizations. This makes the asm.s file for the test_fact
      28 (out of 114) lines shorter. The optimizations are mostly added as
      untrusted (interactive) rewrites, but not yet fully proven.
      

Changes  Path
+3 -3 metaprl/support/display/summary.ml
+40 -19 mpcompiler/mmc/core/mmc_core_cps.ml
+1 -0 mpcompiler/mmc/core/mmc_core_cps.mli
+13 -8 mpcompiler/mmc/core/mmc_core_name.ml
Added mpcompiler/mmc/core/mmc_core_name.prla
Properties mpcompiler/mmc/core/mmc_core_name.prla
+11 -8 mpcompiler/mmc/core/mmc_core_theory.ml
+23 -6 mpcompiler/mmc/core/mmc_core_util.ml
+6 -1 mpcompiler/mmc/core/mmc_core_util.mli
+12 -8 mpcompiler/mmc/extensions/bool/mmc_ext_bool.ml
+7 -4 mpcompiler/mmc/main/mmc_theory.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-29 22:34:42 -0800 (Mon, 29 Mar 2004)
Revision: 5576
Log message:

      A number of display form updates.
      

Changes  Path
+4 -2 metaprl/support/display/summary.ml
+2 -1 mpcompiler/mmc/core/mmc_core_ast.ml
+2 -2 mpcompiler/mmc/core/mmc_core_cps.ml
+3 -0 mpcompiler/mmc/core/mmc_core_type_util.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-30 19:14:07 -0800 (Tue, 30 Mar 2004)
Revision: 5578
Log message:

      I was finally able to derive the CPS tail call optimizations from eta
      reduction in a reasonable way.
      

Changes  Path
+4 -3 mpcompiler/mmc/core/Files
+8 -7 mpcompiler/mmc/core/mmc_core_cps.ml
Added mpcompiler/mmc/core/mmc_core_cps.prla
Properties mpcompiler/mmc/core/mmc_core_cps.prla
+2 -7 mpcompiler/mmc/core/mmc_core_name.ml
Added mpcompiler/mmc/core/mmc_core_optimize.ml
Properties mpcompiler/mmc/core/mmc_core_optimize.ml
Added mpcompiler/mmc/core/mmc_core_optimize.mli
Properties mpcompiler/mmc/core/mmc_core_optimize.mli
Added mpcompiler/mmc/extensions/bool/ext_boolean.prla
Properties mpcompiler/mmc/extensions/bool/ext_boolean.prla

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-03-31 00:34:21 -0800 (Wed, 31 Mar 2004)
Revision: 5579
Log message:

      test_fib doesn't compile.  I know it's late to be working on the code, but I
      don't want us to describe a broken CPS in the paper or something.
      

Changes  Path
+11 -0 mpcompiler/mmc/test/mmc_ext_int_test.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-03-31 01:41:20 -0800 (Wed, 31 Mar 2004)
Revision: 5580
Log message:

      Added stuckC error reporting to Codegen.
      

Changes  Path
+8 -0 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml