I was in Berlin last week for ECOOP
. The conference was really interesting, I got to meet lots of interesting and important people and I got to explore Berlin a bit too - it is, in fact, a wonderful city - I was well impressed! As I have quite a lot to say, I'll go one day at a time:
On the monday I attended the IWACO
workshop, there were talks of 5, 10 and 25 minutes (I think) and nearly all were interesting, the ones I found most interesting were (papers available here
):Erik Ernst - Exclusive References (Primitive Associations) -
Combining virtual classes and ownership is a great idea, Erik has an alternative that looks interesting and made me want to read the paper, I think its stuff I need to think about...Matthew Parkinson - Class Invariants - The End of the Road? -
Interesting and deliberately contraversial talk about the limitations of class invariants. Class invariants are described as too inflexible beacuse they can not describe the invariants of a group of classes (eg subject-observer). A heavier alternative using predicates is proposed. I don't know much about class invariants, but the argument seemed to make sense. However, class invariants have the advantage that they are easy to understand for the programmer, which seems to be lost by using predicates. I think this is another motivation for family polymorphism/virtual classes, as class invariants over a family should solve the problem - hmm, another research idea...Invited talk on X10 by Vijay Saraswat -
sounds very interesting and I look forward to reading the paper when its finished. He talked about having constraint types in X10 and extending FJ with xonstraint types as a formal version. These constraint types are a form of depedent types and the type system is undecidable, but he argued that this was not a big problem.Johan Ostland (I think) - On the benefit of adding modes to owners (Ownership, Uniqueness and Immutability) -
Extending ownership types with mutability annotations - simple and effective idea, looks good.James Noble - Ownership meets Java and Peter Muller - State of the universe addess -
These two talks were meant to give an overview of the current state of the art in the two 'competing' systems of ownership types and universes. Both were good talks and convincing, and both outlined really exiciting directions for future work. I guess the result is that ownership types are more flexible and powerful and univeses are easier to use and have less overhead, hopefully we'll get the best of both worlds one day...John Boyland - Iterators can be independent "from" their collections -
an intersting, if complex, solution to the iterators/ownership mismatch. I need to read the paper on this one!
??? - Using ownership types to support library aliasing boundaries -
good talk on using ownership in a C++ library which their students used to produce a 3d game. The combination of concurrency and ownership was interesting, they adopted a message passing approach and used 'tethers' to communicate back to the message sending process.Werner Dietl - Runtime Universe Type Inference -
a really good presentation, Werner used a live demo with funky animations to demonstrate the inference of unvierse types. All seemed to work nicely.Mawan Abi-Antoun - Compile-Time Views of Execution Structure Based on Ownership and Ownership Domains in the real world -
the first talk presented a system to visually present the runtime structure of objects using ownership domains. The visualisation is produced at compile time but still gives the dynamic structure of the program. The second talk presented an implementation of ownership domains and a case study on how ownership domains can be added to existing programs. Finding that they served as a useful way to identify bad design 'smells'. I thought this is an interesting point, that seems so obvious when you think about it - a mechanism used for enforcing design in the type system, when applied to an existing system, can be used to identify bad design!
In summary - yay for ownership!
More on the rest of the conference to follow...