Clojure programming emphasizes data to an unusual extent. For example:
- Clojure programmers are encouraged to treat data structures as APIs,
rather than hiding them in objects (eg, behind accessor methods).
- Clojure provides persistent, immutable forms of popular data structures,
allowing them to be used in the same manner as their mutable equivalents.
- Clojure provides abstract data types (eg, seqs), allowing many functions
to operate on a variety of concrete data types.
- Clojure provides abstract structural binding (ie, binding forms, destructuring),
allowing code to attach names to portions of data structures.
- Clojure implements metadata, allowing hints to the compiler,
application-specific "flags", etc.
These pages summarize some of Clojure's key concepts regarding data:
- Metadata - Clojure's (novel) approach to metadata
- Support - support mechanisms (eg, garbage collection)
This wiki page is maintained by Rich Morin
an independent consultant specializing in software design, development, and documentation.
Please feel free to email
comments, inquiries, suggestions, etc!