Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-02-14 18:49:24 -0800 (Tue, 14 Feb 2006)
Revision: 8699
Log message:

      Added the template for reflecting theories from the .cmoz file.
      The only thing handled at the moment are the "extends" directives.
      
      The reflected theory for a theory Foo is named Reflect_foo.
      
      Whew, this wasn't easy.
      
         - Filter_cache_fun has an issue with loading "summarized"
           modules.  A "summarized" module is formed when a module
           is loaded.  If another "extends" for that theory is
           encountered, then the module is loaded from the
           summary.  In other words, the file is cached.
      
           Unfortunately, this is very damaged.  The only thing
           included from a cached file is the opnames.
           The other stuff, like resources and grammars, are ignored.
      
           This should be fixed.  In the meantime, I added a
           "reset_hack" function that resets the cache.  This is
           expensive, and should be removed asap.
      
         - For the moment, I'm hand-coding the dependencies for
           reflected files.
      
           Unfortunately, this is broken.  If you add an explicit
           dependency to theories/foo/OMakefile.  For example,
           the following dependency seems like it should work.
      
               reflect_x.cmoz: x.cmoz
      
           However reflect_x.cmoz will be compiled _without_
           OCAMLINCLUDES being defined to include THEORY_DEPS.
           In fact, it won't even include meta/base:(
      
           Again, this should be fixed.
      

Changes  Path
+17 -2 metaprl/OMakefile_theories
+2 -1 metaprl/filter/OMakefile
+22 -0 metaprl/filter/base/filter_cache_fun.ml
+2 -0 metaprl/filter/base/filter_summary_type.ml
+156 -119 metaprl/filter/filter/filter_bin.ml
+1 -1 metaprl/filter/filter/filter_main.ml
+0 -10 metaprl/filter/filter/filter_parse.ml
+46 -41 metaprl/filter/filter/filter_prog.ml
+3 -1 metaprl/filter/filter/filter_prog.mli
Deleted metaprl/filter/filter/filter_reflect.ml
Deleted metaprl/filter/filter/filter_reflect.mli
+10 -1 metaprl/mk/prlcomp
+2 -0 metaprl/theories/meta/base/MetaprlInfo
Added metaprl/theories/meta/base/reflect_base_theory.ml
Properties metaprl/theories/meta/base/reflect_base_theory.ml
Added metaprl/theories/meta/base/reflect_base_theory.mli
Properties metaprl/theories/meta/base/reflect_base_theory.mli
Added metaprl/theories/meta/base/reflect_base_theory.mlz
Properties metaprl/theories/meta/base/reflect_base_theory.mlz
+2 -2 metaprl/theories/poplmark/naive/MetaprlInfo
Added metaprl/theories/poplmark/naive/OMakefile
Properties metaprl/theories/poplmark/naive/OMakefile
+2 -1 metaprl/theories/poplmark/naive/pmn_core_terms.ml
+2 -2 metaprl/theories/poplmark/naive/pmn_core_terms.mli
Copied metaprl/theories/poplmark/naive/pmn_core_test.ml
+36 -0 metaprl/theories/poplmark/naive/pmn_core_test.ml
Copied metaprl/theories/poplmark/naive/pmn_core_test.mli
+58 -0 metaprl/theories/poplmark/naive/pmn_core_test.mli