Book Image

Clojure Programming Cookbook

Book Image

Clojure Programming Cookbook

Overview of this book

When it comes to learning and using a new language you need an effective guide to be by your side when things get rough. For Clojure developers, these recipes have everything you need to take on everything this language offers. This book is divided into three high impact sections. The first section gives you an introduction to live programming and best practices. We show you how to interact with your connections by manipulating, transforming, and merging collections. You’ll learn how to work with macros, protocols, multi-methods, and transducers. We’ll also teach you how to work with languages such as Java, and Scala. The next section deals with intermediate-level content and enhances your Clojure skills, here we’ll teach you concurrency programming with Clojure for high performance. We will provide you with advanced best practices, tips on Clojure programming, and show you how to work with Clojure while developing applications. In the final section you will learn how to test, deploy and analyze websocket behavior when your app is deployed in the cloud. Finally, we will take you through DevOps. Developing with Clojure has never been easier with these recipes by your side!
Table of Contents (16 chapters)
Clojure Programming Cookbook
About the Authors
About the Reviewer

Using threading macros

Threading macros are the cherry on the pie of your Clojure code. We use them all the time, and for one very simple reason: they make your code more readable. We can think of threading macros as a way to directly see how the data flows through our well-crafted functions.

Threading macros, as the name suggests, are macros. The code you write is being rearranged before being compiled and evaluated.

In this short section, we will see how to use the two threading macros, -> and ->>, so that you can use and abuse them while having some Clojure fun.

This will also be used as a bridge to learn how to write our own macros in the following two recipes.

Finally, we will also see how this is used in context for a full-fledged Apache Spark integration.

Getting ready

For this recipe, nothing but a plain Clojure REPL is needed.

How to do it...

In this short section, we will review the main threading macros of the Clojure language.

Introducing the -> macro

In pseudo-code, we can...