Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2003-08-04 17:37:15 -0700 (Mon, 04 Aug 2003)
Revision: 4814
Log message:

      This is an unsatisfying workaround to the context scoping
      problem.  As mentioned in the previous commit, this is what
      we want:
      
       sequent [Lambda] { <H> >- 'e } : sequent [TyAll] { <K> >- 't<|K|> }
       <-->
       sequent [Lambda] { <H> >- TyConstrain{'e; 't<|H|>} } :
       sequent [TyAll] { <K> >- 't<|K|> }
      
      We should really get this notation to work.  In the meantime,
      we use this workaround:
      
       sequent [Lambda] { <H> >- 'e } : sequent [TyAll] { <K> >- 't<|K|> }
       <-->
              collect{ty_vars. sequent [Lambda] { <H> >-
                 TyConstrain{'e; Apply{sequent [Lambda] { <K> >- 't<|K|> }; 'ty_vars}} :
       sequent [TyAll] { <H> >- 't<|K|> }
      
      Remember, collect{ty_vars. sequent [...] { <H> >- ... }} builds
      a list of the binding vars in <H>.
      
      That is, we use beta-reduction to perform an explicit substitution.
      It should work, but makes the code large, slow, and ugly.
      

Changes  Path
+2 -1 metaprl/filter/filter/filter_patt.ml
+15 -3 mpcompiler-branches/mojave_sequents/mmc/core/mmc_core_cps.ml
+15 -16 mpcompiler-branches/mojave_sequents/mmc/core/mmc_core_type_infer.ml