=== Top of the Swiki === Attachments ===

Blue Book - Table of Contents

Smalltalk-80

The Language and its Implementation

Adele Goldberg and David Robson
Xerox Palo Alto Research Center

Addison Wesley, 1983
ISBN 0-201-11371-6

Part One - an overview of the concepts and syntax of the programming language

Part Two - an annotated an illustrated specification of the system's functionality

Part Three - an example of the design and implementation of a moderate-size application

Part Four - a specification of the Smalltalk-80 virtual machine

from the preface


PART ONE


1 Objects and Messages
Classes and Instances
An Example Application
System Classes
Summary of Terminology

2 Expression Syntax
Literals
Variables
Messages
Blocks
Summary of Terminology

3 Classes and Instances
Protocol Descriptions
Implementation Descriptions
Variable Declarations
Methods
Primitive Methods
Summary of Terminology

4 Subclasses
Subclass Descriptions
An Example Subclass
Method Determination
Abstract Superclasses
Subclass Framework Messages
Summary of Terminology

5 Metaclasses
Initialization of Instances
An Example Metaclass
Metaclass Inheritance
Initialization of Class Variables
Summary of Method Determination

PART TWO


6 Protocol for all Objects
Testing the Functionality of an Object
Comparing Objects
Copying Objects
Accessing the Parts of an Object
Printing an Storing Objects
Error Handling

7 Linear Measures
Class Magnitude
Class Date
Class Time
Class Character

8 Numerical Classes
Protocol of the Numer Classes
Classes Float and Fraction
Integer Classes
Class Random: A Random Number Generator

9 Protocol for All Collection Classes
Adding, Removing, and Testing Elements
Enumerating Elements
Instance Creation
Conversion among Collection Classes

10 Hierarchy of the Collection Classes
Class Bag
Class Set
Class Dictionary and IdentityDictionary
Class SequenceableCollection
Subclasses of SequenceableCollection
Class ArrayedCollection
Class MappedCollection
Summary of Conversions Among Collections

11 Three Examples that Use Collections
Random Selection and Playing Cards
The Drunken Cockroach Problem
Traversing Binary Trees

12 Protocol for Streams
Class Stream
Positionable Stream
Streams of Generated Elements
Streams for Collections Without External Keys
External Streams and File Streams

13 Implementations of the Basic Collection Protocol
Class Collection
Subclasses of Collection

14 Kernel Support
Class UndefinedObject
Classes Boolean, True, and False
Additional Protocol for Class Object

15 Multiple Independent Processes
Processes
Semaphores
Class SharedQueue
Class Delay

16 Protocol for Classes
Class Behavior
Class ClassDescription
Class Metaclass
Class Class

17 The Programming Interface
Views
Browsers
Testing
Error Reporting

18 Graphics Kernel
Graphical Representation
Graphical Storage
Graphical Manipulation
Classes Form and Bitmap
Spatial Reference
Class BitBlt
Line Drawing
Text Display
Simulation of BitBlt

19 Pens
Class Pen
Geometric Designs
Commander Pen

20 Display Objects
Class DisplayObject
Class DisplayMedium
Forms
Display Text
Paths
Image Manipulation with Forms

PART THREE


21 Probability Distributions
Probability Distribution Framework
Discrete Probability Distributions
Continuous Probability Distributions

22 Event-Driven Simulations
A Framework for Simulation
Implementation of the Simulation Classes

23 Statistics Gathering in Event-Driven Simulations
Duration Statistics
Throughput Histograms
Tallying Events
Events Monitoring

24 The Use of Resources in Event-Driven Simulations
Implementing ResourceProvider and StaticResource
Consumable Resources
Nonconsumable Resources
Renewable Resources

25 Coordinated Resources for Event-Driven Simulations
The Implementation of Class ResourceCoordinator
Example: A Car Wash Simulation
Example: A Ferry Service for a Special Truck
Example: A Bank
Example: An Information System

Blue Book - Part Four

(available on-line)
26 The Implementation

27 Specification of the Virtual Machine

28 Formal Specification of the Interpreter

29 Formal Specification of the Primitive Methods

30 Formal Specification of the Object Memory