- programming with angelic non-determinism (berkeley bias ;-))
- coarse-grained transactions (... brown bias ;-))
- verified JIT
- integrating typed and untyped code in a scripting language (... what happened to Arjun's paper about it? and will anything happen with the es4 effort beyond cutting down trees?)
- monads in action
Only one paper looked like it has a chance of blowing my mind about how we write programs. I must be getting old.
In contrast, Wes Weimer gave a great talk today about applying random program edits to fixing bugs. There's been a lot of work in the area -- my favorite was on doing it for programs with illegible type errors -- Wes' trick of reusing existing program fragments was neat, but more interesting was the evaluation on non-toy programs. It works, and even though I suspect it only succeeds for bugs that are already simple to fix, it suggests we're getting close to realistically rethinking the triage process.
Finally, there was surprise about a suggestion to farm out testing to EC2: the current examples of scaling were 4-8 core machines, not 16-20,000 ones I'm used to -- our group's interest in so little cores for mobiles should be the exception, not rule. I'm seeing a lot of that in the community; e.g., there was an otherwise great talk about optimizing points-to analysis recently that I felt also missed the boat here. If there's an age old algorithm that we need to speed up by a few magnitudes, chances are, you can put it on EC2. Scientists have been doing it for years; now it's open for the masses.