MOP Retrospective - Gregor Kiczales speaks to lispvan
Sunday, July 9, 2006
At our
last lispvan meeting, we were pleased to have
Gregor Kiczales (the author of the book
The Art of the Metaobject Protocol - portions of which are
available
online) speak to our group. We matched our previous
"best" of 17 attendees which is a testament to how highly regarded
Gregor's work is in the Lisp world!
The format of the meeting was a Question and Answer session, with me
initially posing a list of questions that I had prepared or which
various individuals (including Pascal Costanza, Dave Roberts, Gary
King, Cyrus Harmon, and Michael Weber) had emailed/IRCed to me. There
were then additional questions from the audience. I recorded the audio
of the meeting so that the session is preserved for
posterity.
Here is a partial list of the questions that were asked:
- To start off, and to set the stage a bit, could you review the history around the original work that you did in developing the CL MOP and AMOP and put it into some sort of historical context.
- What are some things that you've always thought the MOP could be used for (but that you haven't seen implemented yet)?
- In one of your papers, you talk about the idea of using MOP-like concepts in the creation of an operating system. What other examples have you seen of systems with "ad-hoc MOP's"?
- How was the move from runtime MOPs to (exclusively) compile-time MOPs motivated? Was this a concession to the competition from static languages? Was the ability to change things at runtime not considered important enough?
- I'd like to hear about the tradeoffs in language design between dynamism, performance and interactivity (e.g., something like Dylan's sealing comes to mind). An "ideal" MOP would allow this to be part of the tuning.
- Why wasn't more done to integrate structures and classes?
- Given the success of the MOP in CLOS, why haven't MOP ideas been more widely adopted in other systems?
- What the hell are you doing with all this Java crap!?
- What ever became of applying MOPs to areas like compilers?
- Could you comment on how to avoid metacircles in a principled way.
The audio file is kiczales.wav and it is about 139MB in size and an hour and 15 minutes in length. For those of you who have been anxiously awaiting the recording (and sending me "hurry up" emails), my apologies for not getting it out sooner. However, I had to do a minor edit to the audio and the last two weeks have been insane with a combination of visitors, work deadlines, my daughter's High School graduation, and the onset of beautiful Vancouver summer weather!
Update-2006-07-10: Luís Oliveira kindly sent me a an ogg version of my 139MB .wav file. His version is only 13MB in size, so if you have the ability to play .ogg files, his one is a much kinder download! Grab it from here. Yet again I have proof of my utter lack of knowledge when it comes to audio/video tools/utilities/formats! Thanks Luis!

