Tuesday, July 22, 2008

ECOOP '08, Cyprus

This is turning into nothing more than a conference blog, and I apologise if anyone actually reads this (actually, at least one or two people do, as I found out - hello!). Its not that I've stopped having ideas, its just that I've been very busy. I'm now in Israel, en route to Egypt to write my thesis (yes, it is a good idea, actually). I have a little time to write a little in the blog, so here is my summary of ECOOP...

ECOOP this year was in Cyprus, not an altogether popular choice, since getting there from anywhere except London was a nightmare, but I came from London so I was happy. Also happy to be very close to the beach and for it to be very warm, thus making for a very enjoyable conference. Well, except for the fact that I was working a little and had a walk to the hotel and it was hot and I inevitably sweat so much I spent most of the conference smelling like a tramp, but hey.

Anyway, the first day was IWACO, which was great. I really like this little workshop and enjoyed nearly all the papers, so you could go worse than go to http://www.cs.purdue.edu/homes/wrigstad/iwaco08/programme.html and read them all! Some comments on some of the talks follow:

First was Jonathan Aldritch's invited talk - the theme of which was making ownership types systems usable by real programmers. It was a great talk and he discussed a lot of aspects that make type systems more or less likely to ever make it into real langauges. He talked about the adoptability and applicability of ownership systems - adoptability concentrated on making these systems easier to use: less annotations, more inference, etc. And how to get the programmer to give the right guidance to the compiler to do inference. Applicability was basically about offering less strict organisation than classical ownership types - such as existential types (!), multiple ownership (!), domains, etc. He also encouraged us to _actually_ study more code to find the strucure of large software.

Alex Potanin then talked about unifying ownership and immutability by using generics, which is a very interesting idea at its early stages.

I gave a talk on existential types for ownership variance, which uses the nice clean framework of existential types to give owner variance without the kind of hackery we use in, for eg, MOJO.

The talk by Nicholas D. Matsakis and Thomas R. Gross was also good. They parameterise types with partitions that restrict effects and use this information to ensure thread safety. It seemed to me like a more fine-grained version of atomic sections, since they restrict the atomic-ness (i.e., the non interfernce of effects) to a parition, while atomic sections apply to the whole heap. I also wonder what would happen if you allowed some kind of variant partitions, like wildcards (not that I'm developing a one-track mind for wildcards or anything).

John Boyland gave a good position paper, which basically said non-linear reasoning (ownership) is better for reasoning about non-linear problems, specifically volatile fields, than linear reasoning (seperation logic).

The talks were rounded off by some interesting demos and a talk about J* by Dino from Queen Mary's, which inspired me to read the seperation logic literature, which I've been meaning to do for a while, but never got round to...

James Noble made the astute comment that some kind of ownership was creeping into seperation logic techniques in order to address certain problems. Also the composite pattern is the new subject-observer - it is difficult to model since you go bottom-up, breaking all the invariants as you go, and then repair them all. I wonder what we will do for motivation when we finish the design patterns book.


Anonymous said...

James Noble made the astute comment that some kind of ownership was creeping into seperation logic techniques

well, I think they dynamics between them are certainly getting more interesting.

I wonder what we will do for motivation when we finish the design patterns book.

We pick another pattern book of course!

PS: I have some news that may justify another blog post: please check your imperial email...

James said...

umm, that was me.

hate blogs...

Sophia Drossopoulou said...

Jonathan Aldritch's invited talk ... _actually_ study more code to find the structure of large software.

Yes, and this is maybe part of what you will be doing, when you do what James is alluding to

news that may justify another blog