Chapter objective: Show how lifetime and visibility affect the values of
Lisp variables during execution. This is pretty much like local and global
variables in other languages, but Lisp's special variables change things.
This chapter also sets the stage for understanding that lifetime and
visibility isn't just for variables.

Chapter objective: Illustrate the difference between assignment and
binding, and show why assignment is harder to understand. Then explore
reasons for preferring the more difficult concept, and introduce functions
that use destructive modification.

Chapter objective: Describe FFI in general, and give examples from actual
implementations. Show how to use wrappers to call C++ functions. Show how
callbacks allow C programs to call Lisp functions. Give an example using
TCP/IP access.

Foreign Function Interfaces let you talk to programs written in
"foreign languages"

Chapter objective: Discuss event-driven interfaces and GUI builders in
general, then show examples from major desktop Common Lisp platforms.
Conclude with a discussion of platform-independent Lisp GUIs such as
Garnet and CLIM.