Stuart Sierra introduces some general guidelines for designing systems which make their data and abstractions more transparent to developers, using code examples in Clojure.
Jim Duey surveys several abstraction techniques that can help in writing reusable code in Clojure.
Ola Bini attempts to answer a few questions: Why are new languages still being created, Is it worth choosing languages strategically, and Does language actually matter?
David Nolen critiques the tools, languages and methodologies used today from the perspective of solving the “mapping dilemma”, introducing match, a pattern matching library for Clojure.
Alex Miller presents some of the abstractions that make Clojure a great language: Collections, Sequence and Higher Order Functions, Multimethods, Protocols, Atoms, Macros, and others.
Marius Eriksen considers that scalability problems appear when leaky abstractions are used, exemplifying with RDBMS, GC, and threads, presenting abstractions that help dealing with scalability issues: map-reduce, shared-nothing web applications, big table, all providing narrow access to explicit resources.