I was going to write about all the goings-on at EuRuKo 2005, but I’m not going to bother, as Leah Neukirchen has done such a comprehensive job with their write-ups of day one and day two. However, I shall say something about their presentation:

The last talk on Saturday was mine about Dynamic Scope and Context-oriented Programming. I have put the slides and accompanying code online, so it’s probably best you see for yourself. :-)

All I can say is that people probably really liked it, at least quite a few people told me how impressive they thought it was.

It was indeed very impressive, even after they told us that they had written the whole thing in just six hours. They talked about their implementation of dynamic scope, and followed that with an explanation of context-oriented programming. This was a new idea to me, but I could instantly see some excellent uses for it, enabling core business logic to be extracted from some of the mundane housekeeping tasks through the use of layers that prepend, postpend, or wrap the core operation.

The bad news is that ContextR, Leah’s implementation of context-oriented programming currently makes method calls up to two hundred times slower than usual! Their honesty and humorous presentation of this minor wrinkle got a big laugh from the audience, but they also said that optimisation is possible, and that YARV (the future Ruby virtual machine) should enable it to be achieved without quite such an extreme overhead. I certainly hope so.