Skip to content
Yehonathan Sharvit edited this page Apr 5, 2021 · 2 revisions

Abstraction

Definition

Abstraction is about drawing from a set of exemplars some essential thing.

Example

Relational algebra is an example of data abstraction. Modelling data as relations gives us lot of power:

  1. We express advanced data manipulation operations with well-defined relational algebra operators
  2. An implementation of relational algebra operators is applicable to all exemplars of data.

In Clojure

Representing data with maps ("just use maps") is a data abstraction. The only required knowledge in order to access data is the field name, represented with a generic entity (e.g. a string or a keyword).

Moreover, there is a well-defined algebra of maps applicable to any data represented with maps.

See also

Concretion

Clone this wiki locally