Drowning in unnecessary complexity, unmanaged state, and tangles of
spaghetti code? In the best tradition of Lisp, Clojure gets out of your
way so you can focus on expressing simple solutions to hard problems.
Clojure cuts through complexity by providing a set of composable
tools--immutable data, functions, macros, and the interactive REPL.
Written by members of the Clojure core team, this book is the essential,
definitive guide to Clojure. This new edition includes information on
all the newest features of Clojure, such as transducers and specs.
Clojure joins the flexibility and agility of Lisp with the reach,
stability, and performance of Java. Combine Clojure's tools for maximum
effectiveness as you work with immutable data, functional programming,
and safe concurrency to write programs that solve real-world problems.
Start by reading and understanding Clojure syntax and see how Clojure is
evaluated. From there, find out about the sequence abstraction, which
combines immutable collections with functional programming to create
truly reusable data transformation code. Clojure is a functional
language; learn how to write programs in a functional style, and when
and how to use recursion to your advantage. Discover Clojure's unique
approach to state and identity, techniques for polymorphism and open
systems using multimethods and protocols, and how to leverage Clojure's
metaprogramming capabilities via macros. Finally, put all the pieces
together in a real program.
New to this edition is coverage of Clojure's spec library, one of the
most interesting new features of Clojure for describing both data and
functions. You can use Clojure spec to validate data, destructure data,
explain invalid data, and generate large numbers of tests to verify the
correctness of your code.
With this book, you'll learn how to think in Clojure, and how to take
advantage of its combined strengths to build powerful programs quickly.
What You Need:
Java 6 or higher
Clojure 1.9