4. The Self World¶
The default Self world is a set of useful objects, including objects that can be used in application programs (e.g., integers, strings, and collections), objects that support the programming environment (e.g., the debugger), and objects that simply are used to organize the other objects. This document describes how this world is organized, focusing primarily on those objects meant for use in Self programs. It does not discuss the objects used to implement system facilities—for example, there is no discussion of the objects used to implement the graphical user interface—nor does it discuss how to use programming support objects such as the command history object; such tools are described in The Self User’s Manual.
The reader is assumed to be acquainted with the Self language, the use of multiple inheritance, the use of traits objects and prototype objects, and the organizing principles of the Self world as discussed in [UCC91].
- 4.1. World Organization
- 4.2. The Roots of Behavior
- 4.3. Blocks, Booleans, and Control Structures
- 4.4. Numbers and Time
- 4.5. Collections
- 4.6. Pairs
- 4.7. Mirrors
- 4.8. Messages
- 4.9. Processes and Concurrency
- 4.10. Foreign Objects
- 4.11. I/O and Unix
- 4.12. Other Objects
- 4.13. How to use the low-level interrupt facilities
- 4.14. Using the textual debugger
- 4.15. Logging