Clementson's Blog

Bits and pieces (mostly Lisp-related) that I collect from the ether.

May 2004
Sun Mon Tue Wed Thu Fri Sat
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Apr  Jun

Code Walkers in Lisp

Wednesday, May 12, 2004

The accounts of the Cologne Lisp User Group meetings are always interesting. When I write a summary of the Denver Area Lisp User Group meetings, I generally only write a sentence or two and it's usually only something along the lines of "we drank beer and talked about lisp" :-). When the Cologne/BeNeLux guys summarize their meetings, you feel like you've almost been part of their meeting!

The primary topic of the latest Cologne meeting was "Code Walkers". What are code walkers? Basically, they are code analysers - programs that are used to process code as data and which need to know certain semantic information about the code that is being processed. Some Lisp examples would be macroexpand-all, compiler/interpreter, XREF, eval, steppers, etc. The write-up of the meeting has links to the two slide presentations that were given on this topic as well as links to other resources related to code walkers. Unfortunately, there were no links to code examples. If you are interested in looking at some code walker code, you might want to have a look at:

The article by Richard Waters "Macroexpand-All: An example of a Simple Lisp Code Walker" provides good background on the issues associated with writing a Lisp code walker and illustrates a practical example of one.

emacs Copyright © 2004 by Bill Clementson