0%

Book Description

Summary

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 of experience building large-scale, data-heavy applications for a variety of domains. Francis Avila is a software developer at Breeze with seven years of experience in back- and front-end web development.

    Table of Contents

    1. Copyright
    2. Brief Table of Contents
    3. Table of Contents
    4. Praise for the First Edition
    5. Preface to the Second Edition
    6. Preface to the First Edition
    7. Acknowledgments
    8. About this Book
    9. Chapter 1. Introducing Clojure
    10. Chapter 2. Clojure elements: Data structures and functions
    11. Chapter 3. Building blocks of Clojure
    12. Chapter 4. Multimethod polymorphism
    13. Chapter 5. Exploring Clojure and Java interop
    14. Chapter 6. State and the concurrent world
    15. Chapter 7. Evolving Clojure through macros
    16. Chapter 8. More on functional programming
    17. Chapter 9. Protocols, records, and types
    18. Chapter 10. Test-driven development and more
    19. Chapter 11. More macros and DSLs
    20. Appendix. Conclusion
    21. Appendix. Installing Clojure
    22. Index
    23. List of Figures
    24. List of Tables
    25. List of Listings