Clojure for the Brave and True


This book is no longer available for sale.

Clojure for the Brave and True

About the Book

This book will be published by No Starch Press when it's complete


For weeks, months — no! from the very moment you were born — you've felt it calling to you. Every time you've held your keyboard aloft, crying out in anguish over an incomprehensible class hierarchy; every time you've lain awake at night, disturbing your loved ones with sobs over a mutation-induced heisenbug; every time a race condition has caused you to pull out more of your ever-dwindling hair, some secret part of you has known that there has to be a better way.

Now, at long last, the instructional material you have in front of your face will unite you with the programming language you've been longing for.

Are you ready, brave reader? Are you ready to meet your true destiny? Get your best pair of parentheses: you're about to embark on the journey of a lifetime!

The Four Labyrinths

To wield Clojure to its fullest, you will need to find your way through the four labyrinths confronting every programmer learning a new language:

  • The Cave of Artifacts. In its depths you'll learn to build, run, and distribute your own programs and use the libraries of others. You'll learn Clojure's relationship to the JVM.
  • The Forest of Tooling. Getting your environment set up so that you can quickly try things out and learn from them is paramount.
  • The Mountain of Language. As you ascend, you'll gain knowledge of Clojure's syntax, semantics, and data structures.
  • The Cloud Castle of Mindset. In its rarified air you will come to know the why and how of lisp, functional programming, and immutability.

Such a quest is fraught with obstacles and dead ends. But fear not, dear reader! This guide is here to guide you!

  • Share this book

  • Categories

    • Software
    • Textbooks

About the Author

Daniel Higginbotham
Daniel Higginbotham

Daniel has been doing programming things since he was a wee little lad, about yea high. You can find him using first person pronouns while writing about Clojure and other stuff at

Table of Contents

  • The Programming Language You’ve Been Longing For
    • Journey through the Four Labyrinths
    • TOC at a Glance
    • Part 1: Environment Setup
    • Part 2: Language Fundamentals
    • Part 3: Extra-Fun Topics
  • Building, Running, and The REPL
    • First things first: What is Clojure?
    • Leiningen
    • Chapter Summary
  • Start Using Emacs
    • Installation
    • Configuration
    • Emacs Escape Hatch
    • Emacs Buffers
    • Working with Files
    • Key Bindings and Modes
    • Core Editing Terminology and Key Bindings
    • Continue Learning
    • Summary
  • Using Emacs with Clojure
    • Fire up your REPL!
    • Interlude: Emacs Windows and Frames
    • A Cornucopia of Useful Key Bindings
    • How to Handle Errors
    • Paredit
    • Chapter Summary
  • Do Things: a Clojure Crash Course
    • Syntax
    • Data Structures
    • Functions
    • Pulling It All Together
    • What Now?
  • Core Functions in Depth
    • Programming to Abstractions
    • The Sequence Abstraction
    • The Collection Abstraction
    • Function Functions
    • FWPD
    • Chapter Summary
  • Functional Programming
    • Pure Functions, What and Why
    • Living with Immutable Data Structures
    • Cool Things to do With Pure Functions
    • Peg Thing®
    • Chapter Summary
  • Organizing Your Project: a Librarian’s Tale
    • Your Project as a Library
    • Storing Objects with def
    • Creating and Switching to Namespaces
    • refer and alias
    • Real Project Organization
    • To Catch a Burglar
    • Summary
  • Clojure Alchemy: Reading, Evaluation, and Macros
    • The Philosopher’s Stone
    • The Reader
    • Reader Macros
    • Evaluation
    • Macros
    • A Syntax Abstraction Example: The -> Macro
  • Writing Macros
    • What Macros Are
    • Anatomy of a Macro
    • Building Lists for Evaluation
    • Applying Your Knowledge to a Macro
    • Refactoring a Macro & Unquote Splicing
    • Things to Watch Out For
    • Brews for the Brave and True
    • Some Final Advice
  • Concurrency, Parallelism, and State. And Zombies.
    • Why Parallel Programming Matters
    • Concurrency and Parallelism Concepts
    • Clojure Implementation: JVM Threads
    • Futures, Delays, and Promises
    • Escaping The Pit of Evil
    • Atoms
    • Watches and Validators
    • Refs
    • Vars
    • Stateless Concurrency and Parallelism
    • Summary
  • Master Concurrent Processes with core.async
    • Processes
    • Go Blocks, thread, Blocking, and Parking
    • The Hot Dog Process You’ve Been Longing For
    • Choice
    • Queues
    • Callbacks
    • Additional Resources
    • Summary
  • Interacting with Java
    • The JVM
    • Compiling and Running a Java Program
    • Java Interop
    • Commonly Used Java Classes
    • Summary
    • Resources
  • Multimethods, Records, and Protocols
    • Abstractions, Implementations, and Polymorphism
    • Multimethods
    • Protocols
    • Records
    • Further Study
    • Summary
  • Building and Developing with Leiningen
    • The Artifact Ecosystem
    • Plugins
    • Summary

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub