Chapter 3. Modularity, Objects, and State
3.1. Assignment and Local State
Local State Variables (exercise 3.1, exercise 3.2, exercise 3.3, exercise 3.4)
The Benefits of Introducing Assignment (exercise 3.5, exercise 3.6)
The Costs of Introducing Assignment (exercise 3.7, exercise 3.8)
3.2 The Environment Model of Evaluation
- The Rules for Evaluation
Applying Simple Procedures (exercise 3.9)
Frames as the Repository of Local State (exercise 3.10)
Internal Definitions (exercise 3.11)
3.3 Modeling with Mutable Data
Mutable List Structure (exercise 3.12, exercise 3.13, exercise 3.14, exercise 3.15, exercise 3.16, exercise 3.17, exercise 3.18, exercise 3.19, exercise 3.20)
Representing Queues (exercise 3.21, exercise 3.22, exercise 3.23)
Representing Tables (exercise 3.24, exercise 3.25, exercise 3.26, exercise 3.27)
A Simulator for Digital Circuits (exercise 3.28, exercise 3.29, exercise 3.30, exercise 3.31, exercise 3.32)
Propagation of Constraints (exercise 3.33, exercise 3.34, exercise 3.35, exercise 3.36, exercise 3.37)
3.4 Concurrency: Time is of the Essence
The Nature of Time in Concurrent Systems (exercise 3.38)
Mechanisms for Controlling Concurrency (exercise 3.39, exercise 3.40, exercise 3.41, exercise 3.42, exercise 3.43, exercise 3.44, exercise 3.45, exercise 3.46, exercise 3.47, exercise 3.48, exercise 3.49)
3.5 Streams
Streams are Delayed Lists (exercise 3.50, exercise 3.51, exercise 3.52)
Infinite Streams (exercise 3.53, exercise 3.54, exercise 3.55, exercise 3.56, exercise 3.57, exercise 3.58, exercise 3.59, exercise 3.60, exercise 3.61, exercise 3.62)
Exploiting the Stream Paradigm (exercise 3.63, exercise 3.64, exercise 3.65, exercise 3.66, exercise 3.67, exercise 3.68, exercise 3.69, (exercise 3.70, exercise 3.71, exercise 3.72, exercise 3.73, exercise 3.74, exercise 3.75, exercise 3.76)
Streams and Delayed Evaluation (exercise 3.77, exercise 3.78, exercise 3.79, exercise 3.80)
Modularity of Functional Programs and Modularity of Objects (exercise 3.81, exercise 3.82)