April 2005
Beginner to intermediate
528 pages
16h 20m
English
In Chapter 4 I discussed how the Lisp reader translates textual names into objects to be passed to the evaluator, representing them with a kind of object called a symbol. It turns out that having a built-in data type specifically for representing names is quite handy for a lot of kinds of programming.1 That, however, isn't the topic of this chapter. In this chapter I'll discuss one of the more immediate and practical aspect of dealing with names: how to avoid name conflicts between independently developed pieces of code.
Suppose, for instance, you're writing a program and decide to use a third-party library. You don't want to have to know the name of every function, variable, class, or ...