Copyright
Brief Table of Contents
Table of Contents
Praise for the First Edition
Foreword to the Second Edition
Foreword to the First Edition
Preface
Acknowledgments
About this Book
About Clojure
About the Cover Illustration
1. Foundations
Chapter 1. Clojure philosophy
1.1. The Clojure way
1.1.1. Simplicity
1.1.2. Freedom to focus
1.1.3. Empowerment
1.1.4. Clarity
1.1.5. Consistency
1.2. Why a(nother) Lisp?
1.2.1. Beauty
1.2.2. But what’s with all the parentheses?
1.3. Functional programming
1.3.1. A workable definition of functional programming
1.3.2. The implications of functional programming
1.4. Why Clojure isn’t especially object-oriented
1.4.1. Defining terms
1.4.2. Imperative “baked in”
1.4.3. Most of what OOP gives you, Clojure provides
1.5. Summary
Chapter 2. Drinking from the Clojure fire hose
2.1. Scalars: the base data types
2.1.1. Numbers
2.1.2. Integers
2.1.3. Floating-point numbers
2.1.4. Rationals
2.1.5. Symbols
2.1.6. Keywords
2.1.7. Strings
2.1.8. Characters
2.2. Putting things together: collections
2.2.1. Lists
2.2.2. Vectors