You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
We express advanced data manipulation operations with well-defined relational algebra operators
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.