Notes on Graham's ANSI Common Lisp (2024)

Jul 13, 2025 - 15:00
 0  0

General Comments

For the most part, Graham's Lisp code is maintainable and portable. Function definitions are short and well-motivated. Exceptions are noted below.

However, there are a few areas where Graham's coding style should not be considered typical:

  • Naming: Like Unix, Graham likes short names, often to the point of crypticness. See my notes on naming for a better way.
  • Conditionals: Graham uses if rather than cond, even when using if leads to nested if's or embedded progn's.
  • Loops: Graham avoids loop, because it is so easily misused and different from the functional programming style. Sometimes, however, loop is the clearest simplest way to write something.
  • Preference for recursion over iteration, even if it might lead to code that causes stack overflows on very long lists.

Here are more detailed comments on particular chapters:

What's Your Reaction?

Like Like 0
Dislike Dislike 0
Love Love 0
Funny Funny 0
Angry Angry 0
Sad Sad 0
Wow Wow 0