Gregorian | 2024-07-08 |
Khayyamian | 976/04/18 |
Shamsi | 1403/04/18 |
Paul: The classical market is a lot like the wine market. It survives by creating the illusion of meaningful diversity. There will always be the demand for the opportunity to distinguish oneself by pretending to see a world where others see nothing.
"Sometimes there really is a world" Helen says Well, the fact that you perceive a difference doesn't necessarily make that difference meaningful.
In designing SELF, we have been led to some rather strange recurring themes. We present them here for the reader to ponder.
Behaviorism: In many object languages, objects are passive; an object is what it is. In SELF, an object is what it does. Since variable access is the same as message passing, ordinary passive objects can be regarded merely as methods that always return themselves. For example, consider the number 17. In Smalltalk, the number 17 represents a particular (immutable) state. In SELF, the number 17 is just an object that returns itself and behaves a certain way with respect to arithmetic. The only way to know an object is by its actions.
Computation viewed as refinement: In Smalltalk, the number 17 is a number with some particular state, and the state information is used by the arithmetic primitives—addition, for example. In SELF, 17 can be viewed as a refinement of shared behavior for numbers that responds to addition by returning 17 more than its argument. Since in SELF, an activation record’s parent is set to the receiver of the message, method activation can be viewed as the creation of a short-lived refinement of the receiver. Likewise, block (closure) activation can be viewed as the creation of a refinement of the activation record for the enclosing context scope.
Parents viewed as shared parts: Finally, one can view the parents of an object as shared parts of the object. From this perspective, a SELF point contains a private part with x and y slots, a part shared with other points containing +, -, etc. slots, and a part shared with all other objects containing behavior common to all objects. Viewing parents as shared parts broadens the applicability of inheritance.