Contents |
Foreword |
Preface to the Second Edition |
Preface to the First Edition |
Acknowledgments |
Building Abstractions with Procedures / 1: |
The Elements of Programming / 1.1: |
Procedures and the Processes They Generate / 1.2: |
Formulating Abstractions with Higher-Order Procedures / 1.3: |
Building Abstractions with Data / 2: |
Introduction to Data Abstraction / 2.1: |
Hierarchical Data and the Closure Property / 2.2: |
Symbolic Data / 2.3: |
Multiple Representations for Abstract Data / 2.4: |
Systems with Generic Operations / 2.5: |
Modularity, Objects and State / 3: |
Assignment and Local State / 3.1: |
The Environmental Model of Evaluation / 3.2: |
Modeling with Mutable Data / 3.3: |
Concurrency: Time Is of the Essence / 3.4: |
Streams / 3.5: |
Metalinguistic Abstraction / 4: |
The Metaciricular Evaluator / 4.1: |
Variations on a Scheme--Lazy Evaluation / 4.2: |
Variations on a Scheme--Nondeterministic Computing / 4.3: |
Logic Programming / 4.4: |
Computing with Register Machines / 5: |
Designing Register Machines / 5.1: |
A Register-Machine Simulator / 5.2: |
Storage Allocation and Garbage Collection / 5.3: |
The Explicit Control Evaluator / 5.4: |
Compilation / 5.5: |
References |
List of Exercises |
Index |
Contents |
Foreword |
Preface to the Second Edition |
Preface to the First Edition |
Acknowledgments |
Building Abstractions with Procedures / 1: |