Free Downloads
Metaprogramming Elixir: Write Less Code, Get More Done (and Have Fun!)

Write code that writes code with Elixir macros. Macros make metaprogramming possible and define the language itself. In this book, you'll learn how to use macros to extend the language with fast, maintainable code and share functionality in ways you never thought possible. You'll discover how to extend Elixir with your own first-class features, optimize performance, and create domain-specific languages. Metaprogramming is one of Elixir's greatest features. Maybe you've played with the basics or written a few macros. Now you want to take it to the next level. This book is a guided series of metaprogramming tutorials that take you step by step to metaprogramming mastery. You'll extend Elixir with powerful features and write faster, more maintainable programs in ways unmatched by other languages.You'll start with the basics of Elixir's metaprogramming system and find out how macros interact with Elixir's abstract format. Then you'll extend Elixir with your own first-class features, write a testing framework, and discover how Elixir treats source code as building blocks, rather than rote lines of instructions. You'll continue your journey by using advanced code generation to create essential libraries in strikingly few lines of code. Finally, you'll create domain-specific languages and learn when and where to apply your skills effectively.When you're done, you will have mastered metaprogramming, gained insights into Elixir's internals, and have the confidence to leverage macros to their full potential in your own projects.

Paperback: 120 pages

Publisher: Pragmatic Bookshelf; 1 edition (February 8, 2015)

Language: English

ISBN-10: 1680500414

ISBN-13: 978-1680500417

Product Dimensions: 7.5 x 0.3 x 9.2 inches

Shipping Weight: 8.8 ounces (View shipping rates and policies)

Average Customer Review: 5.0 out of 5 stars  See all reviews (9 customer reviews)

Best Sellers Rank: #214,340 in Books (See Top 100 in Books) #20 in Books > Computers & Technology > Programming > Functional #20 in Books > Computers & Technology > Programming > Languages & Tools > Compiler Design #35 in Books > Computers & Technology > Programming > Languages & Tools > Compilers

The fact that the Elixir language is gaining popularity is a great thing, considering how good it is.The language itself is around for almost three years now, but only recently books are popping out.Learning by a guy who uses the language from its very beginning is a very different experience than struggling with books written by Elixir newbies (although experienced in other languages)...Chris is one of the former guys, having presented Elixir at RailsConf '14.He's also an experienced Ruby programmer, that's particularly useful from the meta-programming point of view.In case you are interested on the Erlang/OTP Elixir counterpart, i suggest the Saša Juric (Elixir in Action) book: again learning form an Elixir alpha-geek that was an Erlang aficionado is a real pleasure.

I consider myself a professional Rubyist and Clojarian by trade and have often dreamed of a world in which someone would optimally combine the best aspects of both languages while leaving as much as possible of the shortcomings of either behind. When Jose Valim introduced Elixir, I was excited about a ruby-like functional programming language on the Erlang VM. It wasn't until I read this book by Chris McCord that it became clear just how much of a master stroke Elixir's language design and implementation decisions were.This book is a straight-forward presentation of the basic building blocks for AST manipulation via Elixir Macros. Reading this book allowed me to feel immediately comfortable both leveraging metaprogramming techniques in my own code and reading/reviewing the metacode of others. The choice of examples is extremely helpful in grokking the basics and served as a reference for me whenever I would get stuck looking over more advanced code examples in the wild. Chris' encouragement to actually use macros (when appropriate) in general day-to-day programming is in pleasant contrast to the unfortunate "avoid using macros" party-line that tends to be echoed in the Clojure community.I read this book having read Colin Jones' Mastering Clojure Macros and taken Colin's class at Clojure/West. I consider both Metaprogramming Elixir and Mastering Clojure Macros must reads for AST-based metaprogramming and, although they cover metaprogramming in two entirely different languages, much insight can be gleaned from reading both.

This is, hands down, the best 2nd book on Elixir to pick up (after reading Programming Elixir). After you've learned the basics of the language, this is the ideal guild for going deeper. Chris presents clear, concise examples that guide the reader from beginner to expert in the complex depths of the language. You'll feel capable of writing flexible macros after reading this book (but don't if a function will do). More over, you'll have a new set of skills to use when designing APIs in Elixir.Disclosure -- I received a free copy of the eBook and was encouraged to write a review if I enjoyed it. And I did!

Great book; recommend for advanced Elixir users and not people who are just picking up the language. Much of the macro writing involves manipulating Abstract Syntax Trees, which you most likely won't do unless you are writing a framework or just super skilled at Elixir and have the need to cut down on repetitive code.

This book provides a lot of value for its ~100 pages! You'll find a bunch of practical examples of Elixir metaprogramming in the wild. Great for anyone wanting to go beyond the basics and really understand the open-source libraries out there for Elixir or those that want to write their own libs to reuse across projects. Definitely a 5/5!

Metaprogramming Elixir: Write Less Code, Get More Done (and Have Fun!) How to Get Your Web Content DONE!: How to write, what to write, and why you're writing it The Work-Smart Academic Planner: Write It Down, Get It Done Summary - Getting Things Done: David Allen's Book-- A Full Summary!(Version 2015) -- The Art of Stress Free Productivity! (Getting Things Done: A Full ... Book, Planner, Paperback, Audio, Summary) Argue Less Love More: 5 Communication Secrets For Couples Who Want Less Pain And More Passion Superhuman Focus: How to Beat Procrastination, Manage Your Time, and Double Your Output - GET MORE DONE. Understand Your Brain, Get More Done: The ADHD Executive Functions Workbook Significant Changes to the International Plumbing Code, International Mechanical Code and International Fuel Gas Code, 2012 Edition Humphrey's Book of Fun Fun Fun A Cup Of Coffee With 10 Of The Top Cosmetic Dentists In The United States: Valuable insights you should know before you have cosmetic dental work done How to Get Abs: More Fantastic Exercises That Will Help You Flatten Your Stomach and Reveal Those Sexy Abs (Health, Flat Abs, How to Get Abs, How to Get Abs Fast Book 2) The Coconut Oil Miracle: Use Nature's Elixir to Lose Weight, Beautify Skin and Hair, Prevent Heart Disease, Cancer, and Diabetes, Strengthen the Immune System, Fifth Edition Elixir: A History of Water and Humankind Elixir in Action Introducing Elixir: Getting Started in Functional Programming L'Elisir D'Amore, The Elixir of Love : Comic Opera in Two Acts, Vocal Score (G. Schirmer Opera Score Editions, Number 2421) Craps: How to Play Craps: A Beginner to Expert Guide to Get You From The Sidelines to Running the Craps Table, Reduce Your Risk, and Have Fun (Craps, Craps ... Casino, Poker, Craps for Beginners) Runner's World Big Book of Running for Beginners: Lose Weight, Get Fit, and Have Fun Writing Science: How to Write Papers That Get Cited and Proposals That Get Funded Microsoft Access 2013, Fast and Easy: A Beginners Tutorial for Microsoft Access 2013 (Get It Done FAST Book 14)