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:
- Moon's MAPFORMS code walker
- The Xerox code walker (designed for use in PCL)
- Lee Spector's Code Stepper
- The XREF static analyis cross-referencing tool
- James Anderson's walker generic graph traversal facility

