Nil has a single instance named nil and is used to represent uninitialized data,
bad values, or terminal values such as end-of-stream.
Answers true because this is nil. In class Object this message is defined to answer false.
Answer false. In class Object this message answers true.
? means return first non-nil argument. Since this IS nil then return anObject.
In class Object, ? is defined to answer the receiver.
If the receiver is nil, value the function and return the result. Since this IS nil, then value the function and return the result. In class Object, ?? is defined to answer the receiver.
All the messages for the Dependancy protocol (See class Object) are defined in class Nil
to do nothing. This eliminates the need to check for nil when sending dependancy messages.