13 hours of Lisp
With only a few breaks, Lisp50 went from 8 am to 9 pm Monday at OOPSLA. The main topic of discussion was the history of Lisp. It was a long day, but it ended very optimistically focusing on the future.
Richard Gabriel and Guy Steele went first. I missed the first part of the talk, but it was a reenactment of a talk they gave a couple of decades ago. Complete with narration read by Pascal Costanza. It was a very modern meta-talk. I got the feeling that if the talk was relevant after 20 years, Common Lisp has stagnated. But this is not news.
John L White shared his recollections for a while. It was hard to follow --- it wandered around. I got the feeling that it was more about him than about Lisp.
Herbert Stoyan recounted much of the history of Lisp. I was excited to hear it, though I think there is so much more to know than he could possibly recount in forty-five minutes. I wish I could know more detail. There was a mention by Richard Gabriel that John McCarthy was a horrid programmer.
Pascal Costanza gave an explanation and demonstration of ContextL. I had read a little about it, but I have never used it. It looks really interesting. While he was demonstrating it, I got a sense of the expressive power it gives you. I had ideas for using it in some of my projects. I might make a video of it.
Guy Steele interviewed John McCarthy over the phone. John McCarthy was sick and couldn't come. It was interesting to hear his opinions on programming languages. He focused mainly on code as data and readable syntax. He seemed to want to codify common sense.
Warren Teitelman talked about developing Interlisp. He created a lot of the debug and exception facilities we take for granted today. He also developed some facilities for making his programming sessions more productive. Specifically, he created automatic typo correction, among other things. What was revealing was how personal the motivations were. He developed what would make his life better. His spellchecker knew the kinds of errors his keyboard typically made: sticking keys and a clunky shift key. So CONDDDD was converted automatically to COND and 8cond was converted to (cond.
Fritz Kunze gave a talk. Main conclusion: programmers have Asperger's and Common Lisp is dead. I have no comments on either of those ideas.
Kent Pitman gave some good stories about how he came to be the main editor of the Common Lisp ANSI Specification. It was a combination of luck and seizing opportunities. Kent was nothing but modest. I enjoyed the talk.
William Clinger gave a great presentation on Scheme. He was eloquent and honest about the strengths and weaknesses of Scheme and its community. He was very sharp.
Rich Hickey presented his programming language, Clojure. This was the talk of the day. Clojure is a Lisp dialect that runs on the JVM. It's got a growing community, a lot of innovation, and a buzz of excitement. It looks fantastic from the presentation and I can't wait to try it out. On top of that, the older Lispers seemed excited. The torch was passed. The presentation was well-timed. The whole day seemed to lead to the idea that innovation was important, Common Lisp was a political compromise and not a technical ideal, and that something needs to be done. Then came Clojure.
The panel discussion was decent. There was a confirmation of the innovative coolness of Clojure and its potential for popularity. It was also expressed that Common Lisp needs a package management system. Kent Pitman reiterated that Common Lisp was never supposed to be the end---it was just a way to define a fixed-point to standardize on. But innovation has slowed significantly. Some advice on what the standards body should have done differently was given, but I don't remember it specifically.