Skip to Content
Living Clojure
book

Living Clojure

by Carin Meier
April 2015
Beginner
300 pages
4h 59m
English
O'Reilly Media, Inc.
Content preview from Living Clojure

Chapter 8. The Power of Macros

You are growing strong with Clojure. Now that you are comfortable, we are returning to the language itself to take a look at an advanced language feature called macros. The name might be strange, but it is based on simplicity. Harnessing this simplicity gives it great power.

In fact, you already learned the secret back in Chapter 1—code is data! It is contained in the simple sentence.

With this knowledge at the forefront of our minds, let’s step forward and explore Clojure macros.

Exploring Macros

Macros are powerful. Macros are awesome. What exactly are they? In practical terms, they are a way to do meta-programming in Clojure.

Note

Meta-programming comes from ability of languages to treat their programs as data. This allows a program to modify another program, or even its own program.

What can you do with this special ability? In practical terms, macros give you several advantages. They enable you to:

  • Create and implement your own language features yourself.

  • Reduce the lines of code needed for a program and make it more concise and readable.

  • Encapsulate patterns and repetitive code and replace it with a simple macro call.

Want to add a new feature to the language to help make your life easier? In many languages, you are unable to do this yourself. To get a new language feature added, you must request or submit the change. Then the change has to be evaluated. After the evaluation, it needs to be tested. Finally, it can be used with a new ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Professional Clojure

Professional Clojure

Jeremy Anderson, Michael Gaare, Justin Holguín, Nick Bailey, Timothy Pratley
Clojure Applied

Clojure Applied

Ben Vandgrift, Alex Miller
Clojure Recipes

Clojure Recipes

Julian Gamble
Etudes for ClojureScript

Etudes for ClojureScript

J. David Eisenberg

Publisher Resources

ISBN: 9781491909270Errata Page