Several weeks ago I decided that instead of calling the core calculus that I have been working on Featherweight Scala, which could be confusing given that there is already a different calculus with that name, that I would call it Scala Classic.
I had hoped to submit a paper on Scala Classic to POPL 2009, but it has been taking too long to work out the metatheory. Partly because I am developing a mechanized proof of type soundness in Twelf, and on my first attempt at representing heaps I think tried to be too clever. However, a more traditional treatment of heaps leads to the need to explicitly represent typing contexts, rather than the implicit treatment of contexts more commonly used in Twelf.
This afternoon I finally finished the proof of the theorem that is traditionally called "substitution". However, the proof of type preservation will also require another theorem formalizing a substitution-like property for singleton types. I am hoping that I can prove that theorem more quickly now that I've built up all the explicit context theory. I have not thought much about whether there are any unusual theorems needed to prove progress.
In any event, I would ideally have the proofs finished by the beginning of August. My current plan is to try submitting the paper to PLDI (which is even in Europe this year), unless some obviously better venue comes to my attention.
One of the reasons I would really like to have the proofs done by August is that I will be teaching a PhD level course here at EPFL this fall on mechanized sepcifications and proofs, with a strong emphasis on deductive systems. It also looks like I may fill in some for a masters level course based on TAPL. So between those two things, I am not going to have nearly as much time for research as would be ideal.