SICP : Data Abstraction - Sussman, Abelson

- Data abstraction is a methodology that enables us to isolate how a compound data object is used from the details of how it is constructed from more primitive data objects.

- Data transformation (normalization, reduction ....) that leads to the same intrinsic-data,  should be managed at construction level of the data itself. 

- We can think of data as defined by some collection of selectors and constructors, together with specified conditions that these procedures must fulfil in order to be a valid representation (this representation could  be either a direct-representation  or a procedural-representation) 
- Procedural representation of data  is often called message passing style.

- A means of combination should satisfy closure property (when applying the operation to elements in the set produces an element that is again an element of the set)


- map and filters: could be seen as a framework (sub-language) defined as:
  • Primitive: sequences (conventional interface).
  • Means of combinations: filters, maps, accumulates ..
  • Means of abstractions: inherited from the language which map/filters is built on top of it
- Let, Define VS closur.

No comments: