The class UndefinedObject is discussed in Chapter 14 of the Blue Book. It describes the behavior of a special object called nil, which is used to represent the value of an unassigned variable or an undefined result. There is only a single instance of UndefinedObject in the system. The messages isNil and notNil, inherited from Object protocol, are redefined in UndefinedObject to always return the values true and false. In addition, nil supports a protocol to create new Smalltalk classes, and to permit the creation of new classes that have no superclass.
Last modified date: 01/29/2015