Structure and Interpretation of Computer
Programs
Second Edition
2 BUILDING ABSTRACTIONS WITH DATA
- 2.1 Introduction to Data Abstraction
- 2.1.1 Example: Arithmetic Operations for Rational Numbers
- 2.1.2 Abstraction Barriers
- 2.1.3 What Is Meant by Data?
- 2.1.4 Extended Exercise: Interval Arithmetic
- 2.2 Hierarchical Data and the Closure Property
- 2.2.1 Representing Sequences
- 2.2.2 Hierarchical Structures
- 2.2.3 Sequences as Conventional Interfaces
- 2.2.4 Example: A Picture Language
- 2.3 Symbolic Data
- 2.3.1 Quotation
- 2.3.2 Example: Symbolic Differentiation
- 2.3.3 Example: Representing Sets
- 2.3.4 Example: Huffman Encoding Trees
- 2.4 Multiple Representations for Abstract Data
- 2.4.1 Representations for Complex Numbers
- 2.4.2 Tagged data
- 2.4.3 SData-Directed Programming and Additivity
- 2.5 Systems with Generic Operations
- 2.5.1 Generic Arithmetic Operation
- 2.5.2 Combining Data of Different Types
- 2.5.3 Example: Symbolic Algebra