A selector is an abstract entity holding a name and typing information. A method invocation, also know as `sending a message to an object', actually is the invocation of some behaviour identified by the object receiving the message, and the name of the message: the selector. The second part of a message are the arguments to the method. A selector is a name and typing information on the arguments carried by a message and return value expected by the sender of the message. Every method implementation has, as the second implicit argument the selector used to invoke the method's behaviour.
The default selector value denotes the non-existing selector. The only
operations defined on
selector typed values are equality
comparisons. See section Selectors for information on selector names.
[Note: Currently, the compiler defines selector equality as equality of the pointers to the selector structs (in the output language). Obviously, in the context of dynamic loading, these are not the desired semantics. Before those can be implemented it has to be defined when two selectors are considered to be equal and when they are not. End note. ]
Go to the first, previous, next, last section, table of contents.