Data - Support

This page summarizes some of Clojure's key concepts regarding data-reated support mechanisms. It also provides links to more detailed information.


The datatype features - deftype, defrecord, and reify - provide the mechanism for defining implementations of abstractions, and in the case of reify, instances of those implementations. The abstractions themselves are defined by either protocols or interfaces. A datatype provides a host type ... with some structure ..., and optional in-type implementations of abstraction methods. They support, in a relatively clean manner, access to the highest-performance primitive representation and polymorphism mechanisms of the host.

-- Datatypes - deftype, defrecord, and reify

Garbage Collection

Clojure relies on the JVM (Java Virtual Machine) to perform any needed garbage collection (ie, reclamation of memory from unused objects). Clojure's implementation of persistence generates a substantial amount of incidental garbage (eg, intermediate nodes), so efficient garbage collection is very important to performance.

Lazy Evaluation

To Do ...


To Do ...


To Do ...

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: r6 - 06 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