Clojure in Action, Second Edition

  • 5h 53m
  • Amit Rathore, Francis Avila
  • Manning Publications
  • 2016


A fully revised edition that covers the new features available in Clojure 1.6.

About the Technology

Clojure is a modern Lisp for the JVM. It has the strengths you expect: first-class functions, macros, and Lisp's clean programming style. It supports functional programming, making it ideal for concurrent programming and for creating domain-specific languages. Clojure lets you solve harder problems, make faster changes, and end up with a smaller code base. It's no wonder that there are so many Clojure success stories.

About the Book

Clojure in Action, Second Edition is an expanded and improved version that's been updated to cover the new features of Clojure 1.6. The book gives you a rapid introduction to the Clojure language, moving from abstract theory to practical examples. You'll start by learning how to use Clojure as a general-purpose language. Next, you'll explore Clojure's efficient concurrency model, based on the database concept of Software Transactional Memory (STM). You'll gain a new level of productivity through Clojure DSLs that can run on the JVM. Along the way, you'll learn countless tips, tricks, and techniques for writing smaller, safer, and faster code.

What's Inside

  • Functional programming basics
  • Metaprogramming with Clojure's macros
  • Interoperating with Java
  • Covers Clojure 1.6

About the Reader

Assumes readers are familiar with a programming language like C, Java, Ruby, or Python.

About the Authors

Amit Rathore has 12 years experience building large-scale, data-heavy applications. He's currently developing production Clojure code for a highly distributed, high-load, real-time big-data system.

Francis Avila is a software developer at Breeze with seven years of experience in back- and front-end web development.

In this Book

  • About This Book
  • Introducing Clojure
  • Clojure Elements—Data Structures and Functions
  • Building Blocks of Clojure
  • Multimethod Polymorphism
  • Exploring Clojure and Java Interop
  • State and the Concurrent World
  • Evolving Clojure Through Macros
  • More on Functional Programming
  • Protocols, Records, and Types
  • Test-Driven Development and More
  • More Macros and DSLs