Data

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.

Subtopics

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!

Topic revision: r18 - 05 Mar 2013, RichMorin
This site is powered by Foswiki Copyright © by the contributing authors. All material on this wiki is the property of the contributing authors.
Foswiki version v2.1.6, Release Foswiki-2.1.6, Plugin API version 2.4
Ideas, requests, problems regarding CFCL Wiki? Send us email