|
February 2001: Have come up with a "pure-Java" implementation of
reflection which does not work correctly in the presence of privacy. Instead
I have a pretty good idea of how to implement reflection features of Java
using ITA in a FLINT-like language.
November 2000: Am working on representing FJ in Twelf. Hopefully, I can then extend FJ with the reflective primitives and represent that in Twelf as well. A summary on ways of implementing Java Reflection [Nov 19 2000]. (It's still somewhat difficult to come up with a clean semantics of Java reflection features...) October 2000: I am examining the possibility of a source-to-source translation from a Java subset with reflection (RFJ+) to a Java subset without reflection (FJ+). If this can be worked out, it will be an alternative to using intensional type analysis- but there may be some tradeoffs involved. Adding reflection just to FJ is fairly awkward because FJ doesn't have arrays, booleans, strings, etc. So I need to work first with an expanded subset of Java supporting these. A memo on this [Oct 11 2000] (The arguments against this method are perhaps not very convincing.). Summer 2000: I have worked on how reflection can be added to the Featherweight Java source language, using some set of reflection primitives with sound semantics, etc. The goal will then be to translate this into our target language, in order to show that we can accurately model reflection using intensional type analysis. |