Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-01 02:55:58 -0800 (Fri, 01 Apr 2005)
Revision: 7079
Log message:
Current state of tests
Changes | Path |
+1010 -693 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-01 14:30:14 -0800 (Fri, 01 Apr 2005)
Revision: 7080
Log message:
Make sure the compileT tactic matches the mmc script.
Changes | Path |
+7 -1 | mpcompiler/mmc/arch/x86/mmc_x86_theory.ml |
+4 -1 | mpcompiler/mmc/lir/mmc_lir_theory.ml |
+0 -1 | mpcompiler/mmc/test/OMakefile |
+14 -14 | mpcompiler/mmc/test/mmc_int_test.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-01 18:44:31 -0800 (Fri, 01 Apr 2005)
Revision: 7081
Log message:
Working on special calls.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-01 19:51:45 -0800 (Fri, 01 Apr 2005)
Revision: 7082
Log message:
Add parsing rules for Mmc_core_type_check!mem_args.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-02 00:47:31 -0800 (Sat, 02 Apr 2005)
Revision: 7083
Log message:
Current state of tests
Changes | Path |
+1271 -769 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-02 17:14:21 -0800 (Sat, 02 Apr 2005)
Revision: 7087
Log message:
WARNING: see below
Added special calls,
external name : type
and sequencing
e1; e2
I'm trying to get the print_* functions to work so we can run the Mandel
test.
I ported Aleksey's sweep/closure modifications to the backend. However,
WARNING: if I am not going crazy, the rewriter seems to have a capture bug.
That's why I'm committing this partially-working code. To reproduce the
bug, try compiling mmc_special_test/test1. This will abort (intentionally)
at the error, where we see a sequent with duplicate bindings, and a body
where two variables have been folded together.
I'll file a Bugzilla report. If I can't figure it out myself, I'll
commit a workaround.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-02 18:14:15 -0800 (Sat, 02 Apr 2005)
Revision: 7088
Log message:
Added a line to term_base_ds to avoid the capture problem in bug #432.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-02 19:35:06 -0800 (Sat, 02 Apr 2005)
Revision: 7089
Log message:
We can now print integers with the print_int special call.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-02 20:29:05 -0800 (Sat, 02 Apr 2005)
Revision: 7090
Log message:
Added string lexing as a primitive to Filter_grammar.
Changes | Path |
+50 -2 | metaprl/filter/base/filter_grammar.ml |
+34 -23 | mpcompiler/mmc/extensions/string/mmc_ext_string.ml |
+38 -2 | mpcompiler/mmc/extensions/string/mmc_ext_string.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-02 20:44:35 -0800 (Sat, 02 Apr 2005)
Revision: 7091
Log message:
Current state of the tests
Changes | Path |
+517 -526 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-02 21:14:50 -0800 (Sat, 02 Apr 2005)
Revision: 7093
Log message:
Incomplete support for strings in the backend.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-03 10:49:02 -0700 (Sun, 03 Apr 2005)
Revision: 7095
Log message:
Finished the backend implementation of strings.
mmc_special_test/test2 prints "Hello world\n"
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-03 15:14:04 -0700 (Sun, 03 Apr 2005)
Revision: 7096
Log message:
Added explicit iform category for terms. The syntax is:
declare iform <term_declaration>
and the usual variants. For the others, the iform keyword goes last
for now.
declare type iform ...
"iform" terms are not allowed after input processing, so this is the
way to make sure your helper terms do not appear in any logical
context.
There were only a few rules in mmc that broke.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-03 17:48:21 -0700 (Sun, 03 Apr 2005)
Revision: 7099
Log message:
Made some progress with Mandelbrot.
However, I can't make much more progress currently because MetaPRL
starts thrashing (it is taking about 1.2GB on only half the program).
Clearly, we need to figure out where all this space is going.
For now, I'm going to implement some simple optimizations that will
reduce the size of the program, just so I can get it to compile.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-03 18:24:25 -0700 (Sun, 03 Apr 2005)
Revision: 7101
Log message:
In iform checking, handle quoted shapes by stripping the quotes.
Splitting inliner into multiple parts.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-03 19:07:50 -0700 (Sun, 03 Apr 2005)
Revision: 7104
Log message:
Current state of tests
Changes | Path |
+7 -10 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-03 19:29:56 -0700 (Sun, 03 Apr 2005)
Revision: 7105
Log message:
Removed the $ignore check in input term checking. I had forgotten
that the check is not being used on declarations.
It brings up another issue: input checking is not being
used on terms that are being declared (because the term doesn't
exist yet). However, it is probably a good idea to do input
checking on all the subterms.
The other place where the input checker is bypassed is for
iforms, and in the !!!WARNING!!! section of Term_grammar. We
should probably add checking where appropriate.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-03 19:35:50 -0700 (Sun, 03 Apr 2005)
Revision: 7106
Log message:
Enable simple inlining, before CPS. Next we need constant folding.
Changes | Path |
+2 -1 | mpcompiler/mmc/opt/inline/mmc_opt_inline_fun.ml |
+6 -1 | mpcompiler/mmc/opt/inline/mmc_opt_value.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-03 20:21:20 -0700 (Sun, 03 Apr 2005)
Revision: 7107
Log message:
When forcing the type_check rule, add the name of the stage to the potential
error mesage.
Changes | Path |
+1 -1 | mpcompiler/mmc/core/mmc_core_type_check.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-03 21:25:20 -0700 (Sun, 03 Apr 2005)
Revision: 7109
Log message:
Added some simple inlining and constant folding.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-03 21:32:24 -0700 (Sun, 03 Apr 2005)
Revision: 7110
Log message:
Some cleanup.
Changes | Path |
+0 -11 | mpcompiler/mmc/extensions/bool/mmc_opt_bool.ml |
+10 -7 | mpcompiler/mmc/extensions/int/mmc_opt_int.ml |
+1 -4 | mpcompiler/mmc/opt/inline/mmc_opt_inline_fun.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-03 23:24:23 -0700 (Sun, 03 Apr 2005)
Revision: 7111
Log message:
There seems to be a simple problem in type inference that is a show-stopper.
See Mmc_int_test/test_rec1. This simple program does not pass type inference,
with the following error:
unify_mm:
terms do not match:
Term 1: L{int; int; Fun (int) ???? int; Fun (!ty_i1016) ???? !ty_i1016}
Term 2: L{!ty_i1011; int; Fun (!ty_i1012) ???? !ty_res1013; !g_ty1015}
I would love to get better error messages. As far as I can tell, these two
terms should unify.
Changes | Path |
+2 -0 | mpcompiler/mmc/extensions/sequence/mmc_ext_sequence.ml |
+15 -0 | mpcompiler/mmc/test/mmc_int_test.ml |
+15 -1 | mpcompiler/mmc/test/mmc_mandel_test.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-03 23:26:54 -0700 (Sun, 03 Apr 2005)
Revision: 7112
Log message:
- Replaced "compilable{Constrain{'e;'ty}}" with "compilable{'e;'ty}"
- Added ast and tast grammar to the "loop" extension.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-03 23:47:53 -0700 (Sun, 03 Apr 2005)
Revision: 7113
Log message:
Added a comment - the type inference for let rec is substantially wrong.
Changes | Path |
+8 -0 | mpcompiler/mmc/core/mmc_core_type_infer.ml |
+1 -0 | mpcompiler/mmc/test/OMakefile |
+0 -1 | mpcompiler/mmc/test/mmc_int_test.ml |
+23 -2 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-03 23:57:04 -0700 (Sun, 03 Apr 2005)
Revision: 7115
Log message:
Minor cleanups. Aleksey found the problem with type inference, we
better fix this.
Changes | Path |
+1 -1 | metaprl/refiner/reflib/unify_mm.ml |
+1 -1 | mpcompiler/mmc/core/mmc_core_type_infer.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-04 12:59:43 -0700 (Mon, 04 Apr 2005)
Revision: 7116
Log message:
Updated type inference for recursive functions to use the
usual method for type generalization.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-04 13:22:23 -0700 (Mon, 04 Apr 2005)
Revision: 7117
Log message:
Current state of tests
Changes | Path |
+2 -1 | mpcompiler/mmc/test/OMakefile |
+249 -54 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-04 13:36:56 -0700 (Mon, 04 Apr 2005)
Revision: 7118
Log message:
The names of the .exe were clashing when tests were running in parallel,
fixed.
Changes | Path |
+2 -2 | mpcompiler/mmc/test/OMakefile |
+6 -3 | mpcompiler/mmc/test/mmc |
+3 -2 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-04 14:22:59 -0700 (Mon, 04 Apr 2005)
Revision: 7119
Log message:
Hoisting has an issue with nested recursive functions.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-04 16:40:03 -0700 (Mon, 04 Apr 2005)
Revision: 7120
Log message:
"Group meeting": went over the let rec type inference code.
Changes | Path |
+20 -38 | mpcompiler/mmc/core/mmc_core_type_infer.ml |
+0 -1 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-04 16:57:54 -0700 (Mon, 04 Apr 2005)
Revision: 7121
Log message:
- mmc_tests: added a summary at the end.
- CPS: fetch the resource once instead of every time. We need to do this for
every table-based rewrite!
Changes | Path |
+5 -3 | mpcompiler/mmc/core/mmc_core_cps.ml |
+3 -0 | mpcompiler/mmc/test/OMakefile |
+33 -0 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-04 17:21:44 -0700 (Mon, 04 Apr 2005)
Revision: 7122
Log message:
Added a "strategy" parameter to the hoister. This isn't finished,
but is need to do proper hoisting on recursive definitions.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-04 22:42:29 -0700 (Mon, 04 Apr 2005)
Revision: 7131
Log message:
In table-based conversions, call the get_resource_arg once in the high-level
conversion (e.g. cpsC) instead of every time the low-level conversion (e.g.
cpsTopC) is called from the high-level one.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-05 00:41:57 -0700 (Tue, 05 Apr 2005)
Revision: 7135
Log message:
mmc_and_intro - for some reason the nice grammar form did not work for Nathan;
but it does work now.
Changes | Path |
+2 -7 | mpcompiler/mmc/core/mmc_core_type_check.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 10:34:06 -0700 (Tue, 05 Apr 2005)
Revision: 7136
Log message:
This fixes the problem with hoisting, and Mandel now goes all
the way to spilling. There are some problems with spilling,
but I'll work on it later after poplmark.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 10:56:00 -0700 (Tue, 05 Apr 2005)
Revision: 7137
Log message:
The base theory is now ../../base
Changes | Path |
+1 -1 | mpcompiler/mmc/OMakefile |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 11:01:38 -0700 (Tue, 05 Apr 2005)
Revision: 7138
Log message:
Cleaned up the TODO list. Testing commit messages.
Changes | Path |
+4 -53 | mpcompiler/mmc/TODO |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 11:22:41 -0700 (Tue, 05 Apr 2005)
Revision: 7139
Log message:
Getting started on the port. I need to fix the booboo--I placed these
directories under poplmark, but it should be poplmark/pmc
Changes | Path |
Properties | mpcompiler/poplmark |
Added | mpcompiler/poplmark/pmc/OMakefile |
Properties | mpcompiler/poplmark/pmc/OMakefile |
Properties | mpcompiler/poplmark/pmc/core |
Added | mpcompiler/poplmark/pmc/core/Files |
Properties | mpcompiler/poplmark/pmc/core/Files |
Added | mpcompiler/poplmark/pmc/core/pmc_core_theory.ml |
Properties | mpcompiler/poplmark/pmc/core/pmc_core_theory.ml |
Added | mpcompiler/poplmark/pmc/core/pmc_core_theory.mli |
Properties | mpcompiler/poplmark/pmc/core/pmc_core_theory.mli |
Properties | mpcompiler/poplmark/pmc/main |
Added | mpcompiler/poplmark/pmc/main/OMakefile |
Properties | mpcompiler/poplmark/pmc/main/OMakefile |
Properties | mpcompiler/poplmark/pmc/test |
Added | mpcompiler/poplmark/pmc/test/OMakefile |
Properties | mpcompiler/poplmark/pmc/test/OMakefile |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 11:46:46 -0700 (Tue, 05 Apr 2005)
Revision: 7140
Log message:
This is the bare template for pmc, which is completely empty right
now, but at least it compiles:)
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 12:14:42 -0700 (Tue, 05 Apr 2005)
Revision: 7141
Log message:
Moved the util/ directory to the mojave-root, since these files
are not specific to any project.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 12:30:28 -0700 (Tue, 05 Apr 2005)
Revision: 7142
Log message:
Move the config to the compiler-specific directories.
Changes | Path |
+0 -4 | metaprl/mk/defaults |
+7 -0 | mpcompiler/mmc/OMakefile |
Properties | mpcompiler/mmc/mk |
Added | mpcompiler/mmc/mk/defaults |
Properties | mpcompiler/mmc/mk/defaults |
Added | mpcompiler/mmc/mk/make_config |
Properties | mpcompiler/mmc/mk/make_config |
+7 -0 | mpcompiler/poplmark/pmc/OMakefile |
Properties | mpcompiler/poplmark/pmc/mk |
Added | mpcompiler/poplmark/pmc/mk/defaults |
Properties | mpcompiler/poplmark/pmc/mk/defaults |
Added | mpcompiler/poplmark/pmc/mk/make_config |
Properties | mpcompiler/poplmark/pmc/mk/make_config |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 12:43:59 -0700 (Tue, 05 Apr 2005)
Revision: 7143
Log message:
Simple hoisting is a utility.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 12:49:29 -0700 (Tue, 05 Apr 2005)
Revision: 7144
Log message:
Remove the generic bind term in mmc.
Changes | Path |
+0 -8 | mpcompiler/mmc/base/mmc_base_judgment.mli |
+13 -11 | mpcompiler/mmc/opt/inline/mmc_opt_inline_base.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 13:45:12 -0700 (Tue, 05 Apr 2005)
Revision: 7145
Log message:
Ported "base" to pmc.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 13:45:58 -0700 (Tue, 05 Apr 2005)
Revision: 7146
Log message:
Ignore some more files.
Changes | Path |
Properties | mpcompiler |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 14:03:07 -0700 (Tue, 05 Apr 2005)
Revision: 7148
Log message:
Meta-lambda should be using a sequent representation of arguments.
Changes | Path |
+6 -7 | mpcompiler/util/mm_meta_util.ml |
+4 -2 | mpcompiler/util/mm_meta_util.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 14:08:00 -0700 (Tue, 05 Apr 2005)
Revision: 7149
Log message:
Added AST.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 16:18:29 -0700 (Tue, 05 Apr 2005)
Revision: 7150
Log message:
Whew, prettified mmc_core_type_erase
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 17:46:38 -0700 (Tue, 05 Apr 2005)
Revision: 7151
Log message:
Added some grammar documentation.
Changes | Path |
+70 -3 | mpcompiler/mmc/core/mmc_core_ast.mli |
+106 -0 | mpcompiler/mmc/core/mmc_core_tast.mli |
+7 -1 | mpcompiler/mmc/core/mmc_core_type_erase.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 18:22:27 -0700 (Tue, 05 Apr 2005)
Revision: 7152
Log message:
Separate the concept of propositions from type checking.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 18:53:13 -0700 (Tue, 05 Apr 2005)
Revision: 7153
Log message:
Cleaned up type inference. If *only* we could agree on basic style
principles, this phase would be easier:/
Changes | Path |
+104 -84 | mpcompiler/mmc/core/mmc_core_type_infer.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 20:02:55 -0700 (Tue, 05 Apr 2005)
Revision: 7154
Log message:
Cleaned up type checking.
Oh the pain:( This file had been abandoned in a half-done state,
I'm guessing slashdot was the culprit.
Changes | Path |
+11 -3 | mpcompiler/mmc/core/mmc_core_tast.mli |
+62 -70 | mpcompiler/mmc/core/mmc_core_type_check.ml |
+4 -5 | mpcompiler/mmc/core/mmc_core_type_check.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 20:13:38 -0700 (Tue, 05 Apr 2005)
Revision: 7155
Log message:
Copied everything up through type inference to pmc.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 20:27:29 -0700 (Tue, 05 Apr 2005)
Revision: 7156
Log message:
Add the initial stages to the core_theory
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-05 22:25:47 -0700 (Tue, 05 Apr 2005)
Revision: 7157
Log message:
Finished cps, sweep, and closure.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-06 10:34:43 -0700 (Wed, 06 Apr 2005)
Revision: 7158
Log message:
Changed the names
arithmetic -> arith
integer -> int
boolean -> bool
Normally, I like the longer descriptive names. However, in this case
the shorter names are actually more widely known and used, and it
is more consistent to use them.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-06 13:00:44 -0700 (Wed, 06 Apr 2005)
Revision: 7159
Log message:
Updated arith, int, bool.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-06 15:45:29 -0700 (Wed, 06 Apr 2005)
Revision: 7161
Log message:
Partial cleanup of tuples.
Changes | Path |
+16 -12 | mpcompiler/mmc/extensions/tuple/mmc_ext_tuple.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-06 18:25:08 -0700 (Wed, 06 Apr 2005)
Revision: 7162
Log message:
Renamed arith->operator as Nathan suggested.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-07 11:04:28 -0700 (Thu, 07 Apr 2005)
Revision: 7163
Log message:
Some more cleanup.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-07 12:31:20 -0700 (Thu, 07 Apr 2005)
Revision: 7164
Log message:
In messages that say that a config file was created/updated, give the full
path to the config file (relative to $(ROOT)) instead of just "mk/config"
every time.
Changes | Path |
+3 -2 | metaprl/mk/make_config |
+3 -2 | mpcompiler/mmc/mk/make_config |
+3 -2 | mpcompiler/poplmark/pmc/mk/make_config |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-07 12:41:02 -0700 (Thu, 07 Apr 2005)
Revision: 7165
Log message:
Renamed mmc -> pmc
Changes | Path |
+25 -8 | mpcompiler/poplmark/pmc/test/OMakefile |
Deleted | mpcompiler/poplmark/pmc/test/mmc |
Added | mpcompiler/poplmark/pmc/test/pmc |
Properties | mpcompiler/poplmark/pmc/test/pmc |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-07 12:59:43 -0700 (Thu, 07 Apr 2005)
Revision: 7166
Log message:
MMC -> PMC.
Changes | Path |
+1 -1 | mpcompiler/poplmark/pmc/base/pmc_base_judgment.mli |
+1 -1 | mpcompiler/poplmark/pmc/core/pmc_core_sweep.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-07 13:52:13 -0700 (Thu, 07 Apr 2005)
Revision: 7167
Log message:
Fixing some problems with type erasure, but not all of them.
Style request: when adding stuckC:
- Unless the MetaPRL syntax is terribly complicated, add the stuckC entries in
MetaPRL syntax instead of the "pretty" one (this makes it easier to detect
problems caused by pretty syntax).
- Add all helper operators to the stuckC, not just the "main" one (very often,
helper operators are more likely to be accidentally left around)
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-07 14:05:14 -0700 (Thu, 07 Apr 2005)
Revision: 7168
Log message:
Fixed another eraseC issue - for some reason it had "repeatC (sweepDnC"
instead of "sweepDnC (repeatC". More problems remain :-(
Changes | Path |
+1 -1 | mpcompiler/mmc/core/mmc_core_type_erase.ml |
+1 -1 | mpcompiler/poplmark/pmc/core/pmc_core_type_erase.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-07 14:34:37 -0700 (Thu, 07 Apr 2005)
Revision: 7169
Log message:
Fixed erase: we had "let definitions var f = e and <defs2> in e" where the two
instances of "e" were meant to stand for two _fifferent_ expressions!
Changes | Path |
+2 -2 | mpcompiler/mmc/core/mmc_core_type_erase.ml |
+2 -2 | mpcompiler/poplmark/pmc/core/pmc_core_type_erase.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-07 17:23:44 -0700 (Thu, 07 Apr 2005)
Revision: 7170
Log message:
The rule unpack_type_start was not general enough.
Changes | Path |
+2 -2 | mpcompiler/mmc/core/mmc_core_type_erase.ml |
+2 -2 | mpcompiler/mmc/extensions/tyexists/mmc_ext_tyexists.ml |
+2 -2 | mpcompiler/poplmark/pmc/core/pmc_core_type_erase.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-07 17:35:03 -0700 (Thu, 07 Apr 2005)
Revision: 7171
Log message:
For some reason typechecking rules for specific relops all said that relops
have a return type of int, instead of bool!
Now the MMC tests all work again!
Changes | Path |
+6 -6 | mpcompiler/mmc/extensions/int/mmc_ext_int.ml |
+54 -54 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2005-04-07 18:25:36 -0700 (Thu, 07 Apr 2005)
Revision: 7172
Log message:
Fix a trivial copy-and-paste bug.
Changes | Path |
+1 -1 | mpcompiler/mmc/arch/x86/base/mmc_x86_cc.ml |
Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2005-04-07 18:58:28 -0700 (Thu, 07 Apr 2005)
Revision: 7173
Log message:
Fixed condition codes: 'lt' -> 'l' and 'gt' -> 'g'
Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2005-04-07 19:01:06 -0700 (Thu, 07 Apr 2005)
Revision: 7174
Log message:
MP_ROOT is now ../../.. by default.
Also added a simple "test0" to mmc_bool_test.ml.
Changes | Path |
+1 -1 | mpcompiler/mmc/test/mmc |
+2 -0 | mpcompiler/mmc/test/mmc_bool_test.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-07 19:40:49 -0700 (Thu, 07 Apr 2005)
Revision: 7175
Log message:
- Added mmc_bool_test tests to "omake mmc_tests"
- Fixed the CPS rule for the case of a main function returning a function
(the return type was not CPS-translated).
- Added /mmc_mandel_test/test1 to "omake mmc_tests" (this currently fails with
a Not_found error :-( )
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-07 23:08:28 -0700 (Thu, 07 Apr 2005)
Revision: 7176
Log message:
Added a --txt option to the mmc script that would cause it to produce the
normal "prl" mode output, but without the escape sequents. This is
accomplished by setting TERM=dumb before running MetaPRL.
(Note that the "omake mmc_tests" always used to do this, so this is only
affects the CLI invocation of the mmc script).
Changes | Path |
+2 -2 | mpcompiler/mmc/test/OMakefile |
+10 -2 | mpcompiler/mmc/test/mmc |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-08 00:05:44 -0700 (Fri, 08 Apr 2005)
Revision: 7177
Log message:
filter_code_operands used to raise a ReFineError when a CodeMove instruction
would get pruned to an empty src or dst set, I've augmented this to do this
test for both CodeMove and CodeImplicitMove
Changes | Path |
+16 -12 | mpcompiler/mmc/arch/x86/regalloc/mmc_x86_backend.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-08 12:22:29 -0700 (Fri, 08 Apr 2005)
Revision: 7178
Log message:
Couple of "XXX BUG" comments (a number of spilling rewrites seem to be
severely wrong if used on reverse, so they must be made unidirectional).
Changes | Path |
+1 -1 | mpcompiler/mmc/arch/x86/regalloc/mmc_x86_backend.ml |
+3 -0 | mpcompiler/mmc/arch/x86/regalloc/mmc_x86_spill.ml |
Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2005-04-08 13:48:31 -0700 (Fri, 08 Apr 2005)
Revision: 7179
Log message:
* The mmc script is not architecture independent, so hardwire the x86 runtime as
its dependency in the OMakefile.
* Ignore -run if this is a cross-compiler.
* Print usage() if mmc is run without args.
Changes | Path |
+1 -1 | mpcompiler/mmc/test/OMakefile |
+9 -2 | mpcompiler/mmc/test/mmc |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-08 17:01:56 -0700 (Fri, 08 Apr 2005)
Revision: 7180
Log message:
Current state of tests.
Changes | Path |
+74 -10 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-08 17:52:25 -0700 (Fri, 08 Apr 2005)
Revision: 7181
Log message:
Implemented callcc/throw. Completely untested.
Changes | Path |
Properties | mpcompiler/mmc/extensions/callcc |
Added | mpcompiler/mmc/extensions/callcc/Files |
Properties | mpcompiler/mmc/extensions/callcc/Files |
Added | mpcompiler/mmc/extensions/callcc/mmc_ext_callcc.ml |
Properties | mpcompiler/mmc/extensions/callcc/mmc_ext_callcc.ml |
Added | mpcompiler/mmc/extensions/callcc/mmc_ext_callcc.mli |
Properties | mpcompiler/mmc/extensions/callcc/mmc_ext_callcc.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-08 18:49:04 -0700 (Fri, 08 Apr 2005)
Revision: 7182
Log message:
Letting the paper cook for a while.
Reverted the spill_split rule to its previous correct version.
The basic problem is that var_subst seems to be substituting
for values that it shouldn't.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-08 22:04:19 -0700 (Fri, 08 Apr 2005)
Revision: 7184
Log message:
- Added a few tuple tests.
- Fixed a number of issues with tuple extension frontend (added CPS, fixed a
bug in type inference). Subtyping type inference for the subscript
expression is not implemented; but other things seem to work.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-08 22:45:21 -0700 (Fri, 08 Apr 2005)
Revision: 7185
Log message:
- Added type erasure to callcc extension.
- Added a few tests for the callcc extension (these tests do not work yet).
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-09 15:30:44 -0700 (Sat, 09 Apr 2005)
Revision: 7187
Log message:
Protected spilling/regalloc eprintfs with
if !Mmc_ra_state.debug_{spill,regalloc} >= 1 then ...
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-09 19:06:00 -0700 (Sat, 09 Apr 2005)
Revision: 7189
Log message:
Removing unused files
Changes | Path |
Deleted | mpcompiler/mmc/base/mmc_base_meta.ml |
Deleted | mpcompiler/mmc/base/mmc_base_meta.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-09 19:17:49 -0700 (Sat, 09 Apr 2005)
Revision: 7190
Log message:
This finally removes the restriction "fun#std must be inside a Lam" before the
closure conversion. Instead, now when closure conversion detects a "lonely"
fun#std, it just wraps it with a Lam ().
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-09 21:34:00 -0700 (Sat, 09 Apr 2005)
Revision: 7191
Log message:
Callcc should not introduce a binding.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-10 13:20:16 -0700 (Sun, 10 Apr 2005)
Revision: 7192
Log message:
- Added a "typeof let" reerite to the typeof sweeper.
- Couple more callcc examples.
Changes | Path |
+8 -0 | mpcompiler/mmc/core/mmc_core_typeof.ml |
+2 -0 | mpcompiler/mmc/test/OMakefile |
+9 -0 | mpcompiler/mmc/test/mmc_callcc_test.ml |
+834 -0 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-10 16:47:32 -0700 (Sun, 10 Apr 2005)
Revision: 7194
Log message:
Trivial
Changes | Path |
+1 -1 | mpcompiler/mmc/core/mmc_core_ast.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-10 18:02:12 -0700 (Sun, 10 Apr 2005)
Revision: 7195
Log message:
- Added the FSub foundation.
- Added the basic subtyping rules (page 8 of the challenge).
I will re-add most of the removed files once I finish converting them.
Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2005-04-10 21:05:14 -0700 (Sun, 10 Apr 2005)
Revision: 7197
Log message:
Replaced tuple subscripting with uspread in the untyped language. uspread is
converted to subscripting in the front stage. We still need to do the subscript
arithmetic properly -- there's an XXX TODO comment in mmc_ext_tuple.ml about
this.
CVS: ----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: theories/mojave/mmc/core/mmc_core_front.ml
CVS: theories/mojave/mmc/extensions/tuple/mmc_ext_tuple.ml
CVS: theories/mojave/mmc/extensions/tuple/mmc_ext_tuple.mli
CVS: theories/mojave/mmc/lir/mmc_lir_closure_elim.ml
CVS: theories/mojave/mmc/test/mmc_callcc_test.ml
CVS: theories/mojave/mmc/test/mmc_tuple_test.ml
CVS: ----------------------------------------------------------------------
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-10 21:29:54 -0700 (Sun, 10 Apr 2005)
Revision: 7198
Log message:
Current state of the tests. Mmc_tuple_test.test4 shows a bug in the type
inference for tuples...
Changes | Path |
+2 -0 | mpcompiler/mmc/test/OMakefile |
+262 -32 | mpcompiler/mmc/test/mmc_tests_out.previous |
+1 -1 | mpcompiler/mmc/test/mmc_tuple_test.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-11 00:17:29 -0700 (Mon, 11 Apr 2005)
Revision: 7200
Log message:
Use the new intro annotation capabilities (onSomeHypT on rules with a
selected hyp) in type checking rules for variables.
Changes | Path |
+4 -13 | mpcompiler/mmc/arch/x86/type/mmc_x86_type_check_core.ml |
+2 -10 | mpcompiler/mmc/core/mmc_core_type_check.ml |
+1 -3 | mpcompiler/mmc/extensions/string/mmc_x86_string.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-11 02:17:27 -0700 (Mon, 11 Apr 2005)
Revision: 7201
Log message:
Added lambdas and applications.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-11 12:59:23 -0700 (Mon, 11 Apr 2005)
Revision: 7204
Log message:
Updated the parsing for the rules and rewrites.
Changes | Path |
+17 -11 | mpcompiler/poplmark/pmc/base/pmc_base_grammar.mli |
+0 -4 | mpcompiler/poplmark/pmc/base/pmc_base_judgment.mli |
+5 -5 | mpcompiler/poplmark/pmc/core/pmc_lambda.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-11 16:58:42 -0700 (Mon, 11 Apr 2005)
Revision: 7205
Log message:
Fixing bug 440 (type inference for tuples). Turned out that this was a very
easy fix, so I decided to do it now and not leave it for later.
I've also added a "XXX: BUG BUG BUG" on specialize because I realized that
specialize would throw away any subtyping bounds that might have existed on
the universal quantifier we are specializing...
Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2005-04-12 00:53:02 -0700 (Tue, 12 Apr 2005)
Revision: 7209
Log message:
Ref cells seem to be working through type inference/checking.
Changes | Path |
Properties | mpcompiler/mmc/extensions/ref |
Added | mpcompiler/mmc/extensions/ref/Files |
Properties | mpcompiler/mmc/extensions/ref/Files |
Added | mpcompiler/mmc/extensions/ref/mmc_ext_ref.ml |
Properties | mpcompiler/mmc/extensions/ref/mmc_ext_ref.ml |
Added | mpcompiler/mmc/extensions/ref/mmc_ext_ref.mli |
Properties | mpcompiler/mmc/extensions/ref/mmc_ext_ref.mli |
Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2005-04-12 00:53:35 -0700 (Tue, 12 Apr 2005)
Revision: 7210
Log message:
test cases for the ref extension.
Changes | Path |
+7 -0 | mpcompiler/mmc/test/OMakefile |
Added | mpcompiler/mmc/test/mmc_ref_test.ml |
Properties | mpcompiler/mmc/test/mmc_ref_test.ml |
+0 -0 | mpcompiler/mmc/test/mmc_tuple_test.ml |
Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2005-04-12 01:25:08 -0700 (Tue, 12 Apr 2005)
Revision: 7211
Log message:
Ref cells seem to work through CPS
Changes | Path |
+34 -4 | mpcompiler/mmc/extensions/ref/mmc_ext_ref.ml |
+5 -0 | mpcompiler/mmc/test/mmc_ref_test.ml |
Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2005-04-12 02:35:19 -0700 (Tue, 12 Apr 2005)
Revision: 7213
Log message:
Fix typo in comment in mmc_core_sweep.mli.
Add missing tyref well-formedness rule.
Yay! The sequence extension works, so use it.
Changes | Path |
+1 -1 | mpcompiler/mmc/core/mmc_core_sweep.mli |
+17 -0 | mpcompiler/mmc/extensions/ref/mmc_ext_ref.ml |
+1 -0 | mpcompiler/mmc/test/OMakefile |
+5 -5 | mpcompiler/mmc/test/mmc_ref_test.ml |
Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2005-04-12 04:37:24 -0700 (Tue, 12 Apr 2005)
Revision: 7214
Log message:
Hmm, maybe the sequence extension doesn't work, but maybe it's a bug in ref.
I'm to sleepy to figure it out tonight...
Changes | Path |
+28 -4 | mpcompiler/mmc/extensions/ref/mmc_ext_ref.ml |
+5 -5 | mpcompiler/mmc/test/mmc_ref_test.ml |
Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2005-04-12 16:53:04 -0700 (Tue, 12 Apr 2005)
Revision: 7215
Log message:
*** empty log message ***
Changes | Path |
Added | mpcompiler/mmc/test/mmc_ref_test.mli |
Properties | mpcompiler/mmc/test/mmc_ref_test.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-12 17:05:26 -0700 (Tue, 12 Apr 2005)
Revision: 7216
Log message:
Current state of tests
Changes | Path |
+169 -0 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-12 17:06:57 -0700 (Tue, 12 Apr 2005)
Revision: 7217
Log message:
Removed the unnecessary "as t" from the ref extension.
Changes | Path |
+20 -24 | mpcompiler/mmc/extensions/ref/mmc_ext_ref.ml |
+6 -6 | mpcompiler/mmc/extensions/ref/mmc_ext_ref.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-12 17:08:38 -0700 (Tue, 12 Apr 2005)
Revision: 7218
Log message:
Comments on callcc were outdated.
Changes | Path |
+2 -2 | mpcompiler/mmc/extensions/callcc/mmc_ext_callcc.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-14 00:03:18 -0700 (Thu, 14 Apr 2005)
Revision: 7220
Log message:
Fixed the problem with refs+sequences: we were missing "tok_assign > tok_semi"
precedence.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-15 01:39:11 -0700 (Fri, 15 Apr 2005)
Revision: 7221
Log message:
Created a typeclass MTerm for meta-terms and changed the
Summary!meta_operators to have the MTerm type instead of Dform.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-19 01:48:56 -0700 (Tue, 19 Apr 2005)
Revision: 7222
Log message:
Added slot["esc", s:s] and slot["cesc", s:s] display forms for printing the
OCaml-escaped and C-escaped variants of the string s. Updated the display
forms in the string extension of MMC to use the "esc" slots for string
constants.
Changes | Path |
+16 -8 | metaprl/refiner/reflib/dform.ml |
+2 -2 | mpcompiler/mmc/extensions/string/mmc_ext_string.ml |
+1 -2 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-19 12:21:05 -0700 (Tue, 19 Apr 2005)
Revision: 7223
Log message:
Updated Filter_grammar to match the Lm_lexer change from omake.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-04-22 12:58:49 -0700 (Fri, 22 Apr 2005)
Revision: 7227
Log message:
Current state of tests.
Changes | Path |
+1 -1 | mpcompiler/mmc/arch/x86/print/mmc_x86_print.ml |
+1 -1 | mpcompiler/mmc/test/OMakefile |
+247 -0 | mpcompiler/mmc/test/mmc_tests_out.previous |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-26 19:15:50 -0700 (Tue, 26 Apr 2005)
Revision: 7230
Log message:
Rename the "string" extension to "str", to avoid confusion with
the "string" function.
Changes | Path |
+1 -1 | metaprl/filter/base/filter_magic.ml |
+0 -6 | mpcompiler/mmc/OMakefile |
+2 -2 | mpcompiler/mmc/extensions/string/Files |