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
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface

Reactive programming with meltdown


Meltdown brings to Clojure the ease of reactive programming. Your code is now turned into a set of event definitions and listeners to those events. Your running code is now bound to a state (or a set of multiple states) and each part of the code, can now react from values of the state. The event stream becomes abstracted from the code.

Say you are implementing a brand new mail software; messages showing on your screen would be bound to a state or a part of the state. The visual representation of the e-mails is a direct translation of the state itself. If you need to replace or pull in new e-mails, you would add some messages to that state list.

Meltdown can also be used as a stream processing toolkit, meaning you can somehow pipe the processing of messages, and we will look at it in the last part of this recipe.

Getting ready

Here again, there is not much to do to get ready for this recipe, we will just add the meltdown coordinates to the list of dependencies...