Full description not available
M**C
AST + Code Blocks + Lisp Macros = Major Game Change
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.
R**N
Great book, Really Advanced Topics
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.
K**O
Great for DSL with Concurrency in Elixir on Erlang VM
This book has shown me the way to harness the true power of Elixir in developing DSL using metaprogramming.
B**S
Five Stars
tfw I realized I have been tricked into using a LISP
N**N
Great book for learning metaprogramming and more.
I need to write a DSL so I bought this book. I don't believe that there is any source of complete documentation on this subject.The book is very well written and I am learning a lot about how to do metaprogramming using macros. To my surprise though, the book sheds light on more than just writing macros. It provides insights on a lot of things that were kind of mysterious before. Ever wonder what was going on when you typed "use <module>"? For this and much more, get this book.
J**Y
Five Stars
Very interesting book
M**O
Five Stars
perfect
L**D
Content great, Kindle edition formatting broken
Great content, still holds up after 3 years and several major elixir releases. Kindle edition, code examples (which is big part of the book) indentation is all messed up. Frustrating.
Trustpilot
3 weeks ago
2 days ago