Tuesday, 27 January 2009

post-POPL: PLAN-X

The day after POPL offered three very good workshops: TLDI, FOOL and PLAN-X. I had the great honour of co-chairing PLAN-X with Alin Deutsch. [Alin has done some fantastic work, so it was nice to finally meet him having followed his work for years!]

Given the competition for audience (esp. as TLDI is biennial), PLAN-X was a scaled-back affair this year, but I think the meeting itself was very good. I was really impressed with the work presented, the talks, and the audience participation. Every talk got good questions, and there seemed to be conversations carrying on over the coffee breaks too.

Some personal highlights were:
  • I was delighted that James Cheney agreed to give the keynote. He's doing some interesting work applying PL techniques to reason about various forms of provenance in e-science databases. I like what he's been doing, although I wonder if recent techniques being developed by my colleague Nick Benton might be useful. I should just roll up my sleeves and get on with it.
  • Curtis Dyerson gave a great talk on defining a shape polymorphic query language XML. The interesting thing is that he was "inspired" by Barry Jay's work; but they seem to have ended up with something different. At the moment, the connections with Barry's work (soon to be published by Springer - well done, Barry!) are unclear. I'd love to see that sorted out.
  • Patrick Michel gave an interesting talk about verification of data-centric applications that process XML with fixed schema, and in particular verifying integrity and value constraints. They have an interesting specification language and it turns out that after some clever rewriting, a weakest precondition property can be derived. This is related to our work on M, so I'm going to dig deeper here.
  • Ryosuke Sato presented some nice work on stream processing of XML-like data. The problem is trying to automatically translate tree-processing code into stream-processing code. It turns out that earlier work by Suenaga et al. used a type-based translation using ordered linear types. However, sometimes this results in inefficient buffering of data. The neat trick presented here is a variant translation that uses ordered (non-linear) types as well.
  • Hiroyasu Nishimyama, in addition to having the coolest netbook of the whole of the POPL audience (an earlier version of this one), gave a nice talk about speeding up processing of XML by optimizing the parser given data from an earlier pre-analysis of XML data. This pre-analysis searched for frequent patterns in the documents. In more systems-oriented uses of XML this turns out to be very common, so they get big speed-ups in processing times.

(I liked all the other talks too, but these were the ones closest to my own research interests.)

I ended up having dinner with Nick, Andrew, Peter, Scott, Susmit, Tom, Xavier at 45 Bistro (again). I had the beef carpaccio followed by the filet. An excellent way to end the extended POPL trip!

No comments: