next up previous
Next: ModularityObjects and State Up: No Title Previous: Data: Building Abstractions

Data: Building Abstractions, continued

 

 

figure767

The need for multiple data representations is explained, together with generic operator which act on data objects that use multiple representations. Different types of data directed programming are discussed, and some examples are given.

MUST
SICP 2.4 Multiple Representations for Abstract Data 5.1 Multiple Data Representations and Generic Operators
5.2 Vertical and Horizontal Abstraction Barriers
SICP 2.4.1 Representation for Complex Numbers 5.3 Example of a data type (complex numbers) with two representations
SICP 2.4.2 Tagged Data 5.4 Principle of least commitment
5.5 Implementing multiple representations using manifest type
SICP 2.4.3 Data-Directed Programming 5.6 Limitations of manifest types
5.7 Data-directed programming
5.8 Dispatching
5.9 Message Passing
SICP 2.5 Systems with Generic Operators 5.10 Implementing Generic Operators using data-directed programming
SICP 2.5.1 Generic Arithmetic Operators 5.11 Example implementation of generic operators
SHOULD
SICP 2.3.2 Example: Symbolic Differentiation Instructive example on symbolic differentiation, demonstrating data abstraction, the use of lists, and the use of symbols as data
SICP 2.3.4 Example: Huffman Encoding Trees Encoding and Decoding Huffman trees
On the use of lists and data abstractions
SICP 2.5.3 Example: Symbolic Algebra Extended example, including the use of data-directed programming
COULD
SICP 2.3.3 Representing Sets Extensive example, introducing the data object class ``set''
SICP 2.5.2 Combining Operands of Different Types data-directed programming with three dimensional tables, coersion, hierarchies of types



6


next up previous
Next: ModularityObjects and State Up: No Title Previous: Data: Building Abstractions

Henk Corporaal
Fri Jun 5 18:56:04 MET DST 1998