Monday, March 30, 2009

Following John Soule

I'm returning to the wrong coast today (barring drama). Back to the usual grind. But I intend to keep posting and my New Years resolution is to hack more Lisp.

Oh, and John Soule? Horace Greeley often quoted him.

Sunday, March 29, 2009

Lisp Conference

I think I said “Hi” to Zach Beane, but I didn't get to chat. I have to recommend wigflip as a source of fun graphics.

Friday, March 27, 2009

Wise up. Flush Scheme.

I had a couple of conversations with Alan Bawden. I lobbied (unsuccessfully) to get a macro writing license from him. I didn't advance my case by mentioning that I had written a Scheme interpreter using syntax-rules. Alan is not a fan of syntax-rules.

I agree with Alan that implementing any sort of complex macro with syntax-rules is like forcing a program through a straw, but the alternatives are unpleasant, too. I like the fact that syntax-rules can be expanded without the need to invoke the interpreter, so phase mixing is impossible.

After Olin Shivers's talk about his loop macro, it occurred to me that Alan's observation about first-class macros having types (Clams got legs!) might be relevant. When a macro gets somewhat complex, it has to code walk its arguments. It needs to be able to distinguish between chunks of code and binding constructs. When a macro gets very complex (like Olin's loop macro), it becomes impossible to code walk. (Of course you can expand the inner macro away, but there are advantages to keeping it in its original form.) This makes it difficult to use moderately complex macros. I was thinking that Alan's ideas of marking the types of a macro could help during the code walking.

Lisp conference - Hal Abelson

Hal was co-lecturer of 6.001 when I took it in 1983. I've already blogged about how he made me reconsider my opinion of Lisp by pre-empting my objections about efficiency and getting the machine to do calculus on day one.

I was also amazed by Hal's book Turtle Geometry. Hal was involved in the development of Logo for the Apple II computer. I had heard of Logo as a `kid's language', but I discovered that it was a bit more interesting than that when I flipped through Hal's book. The first chapter involved the pretty pictures you could generate through simple iterative and recursive programs, but the later chapters involve vector analysis, topology, linearity, symmetry groups, invariance, and differential geometry. The final chapter introduces General Relativity.

Hal has a way of taking very complex ideas, extracting the core concepts, and reframing them in an intuitive and easy to understand manner. I'm excited that Hal is doing a sabbatical at Google and I hope I can help him out.

Thank you

I'd like to say “Thank you!” to everyone that attended my talk. I really appreciate the positive feedback!

I joined the Speech Team when I was in high school. I had a crush on this girl and that might have been a factor. I was terrible at it. At every competition I came in dead last. At one competition, I just dropped out because I couldn't think of anything to say on a subject.

I'm pretty shy and introverted, but I like meeting people. I discovered a trick: I can pretend that I'm outgoing, even though I'm not, and it works just as well. For some reason, this obvious pretense is sufficient to fool my subconciousness.

Usually there is a rather painful backlash a few hours later when I'm sure I've made a perfect ass of myself. That's when I swear I'll never again put myself through the ordeal of public speaking. But this time I got such support that I don't feel like a total idiot. Thanks to everyone!

I made a list of the people I talked to at the conference. Part of the reason was so I could remember what it was we talked about and follow up on it here. The next few posts are going to be on that, I think.

Thursday, March 26, 2009

Name Dropping

There were a lot of people at ILC '09. I'm posting a list of the ones that I can remember (I know I forgot the names of at least three people, so if you talked to me, please email me).

These are people I saw, but didn't get the chance to talk to. I got the opportunity to talk to these people.

Tuesday, March 24, 2009

A little bit of time

I have a small amount of time this morning before the conference to write a paragraph or two.

The panel discussion on the future of Lisp was interesting. Not so much for what was said, but from the tangents that couldn't be pursued because of time constraints. I enjoyed hearing Pascal Costanza give his ‘radical’ opinions: Java sucks. Stop moaning about how you can't use Lisp and just use it. (I'm paraphrasing, but only slightly.)

Gerry Sussman raised a great point that sailed a bit over my head. He thinks that the one thing that Lisp will be remembered for is how it can be used as a formal description language for processes. He spoke to me later and said he was surprised no one followed up on that. I asked ‘What is there to say? I agree completely, so I can't really argue or add to that.’ He asked ‘What is it about other languages that make them more popular? Can they express certain ideas better? Can we learn from them?’ I think that is a point worth exploring.

It also seems that Rick Greenblatt isn't mad at me anymore. We had a bit of friction that I'll detail later on in my story about LMI. Rick is an interesting guy, but like many brilliant people, he can be difficult at times.

I'm making a few notes and I'm hoping to expand on them later.