Dedication

The Joy of Clojure ... wherein we teach you the joys of Clojure programming.

We have written this book for you, the adventurous programmer with prior experience in Java or functional programming languages—especially Lisp. Our aim is to enhance your programming knowledge in general, and your understanding of Clojure in particular, by exploring the philosophy, motivations, and semantics of the Clojure programming language.

Brief Table of Contents

Copyright

Brief Table of Contents

Table of Contents

Foreword

Preface

Acknowledgments

About This Book

1. Foundations

Chapter 1. Clojure philosophy

Chapter 2. Drinking from the Clojure firehose

Chapter 3. Dipping our toes in the pool

2. Data types

Chapter 4. On scalars

Chapter 5. Composite data types

3. Functional programming

Chapter 6. Being lazy and set in your ways

Chapter 7. Functional programming

4. Large-scale design

Chapter 8. Macros

Chapter 9. Combining data and code

Chapter 10. Java.next

Chapter 11. Mutation

5. Tangential considerations

Chapter 12. Performance

Chapter 13. Clojure changes the way you think

��Resources

Index

List of Figures

List of Tables

List of Listings

Table of Contents

Copyright

Brief Table of Contents

Table of Contents

Foreword

Preface

Acknowledgments

About This Book

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