# Metaprogramming Elixir (Pragprog)

**URL:** <https://forum.elixirforum.com/t/metaprogramming-elixir-pragprog/5886>\
**Category:** Books\
**Tags:** book-metaprogramming-elixir, pragprog\
**Created:** [June 16, 2017, 11:00pm UTC](https://forum.elixirforum.com/t/metaprogramming-elixir-pragprog/5886 "2017-06-16T23:00:00Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![Aetherus](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/aetherus/32/17203_2.png) [@Aetherus](https://forum.elixirforum.com/u/Aetherus)\
**Post date:** [April 1, 2022, 9:31am UTC](https://forum.elixirforum.com/t/metaprogramming-elixir-pragprog/5886/12 "2022-04-01T09:31:01Z")

</div>

> [@Fl4m3Ph03n1x](#):
>
> does the book cover my specific use case? (does it teach how to dynamically generate modules?)

Yes and no. With the techniques in this book, you’ll know how macros work. How to implement your desired syntax is up to you.

> [@Fl4m3Ph03n1x](#):
>
> does the book cover how to include typespecs in the generated code?

No, but typespecs are just “code”, which turn into abstract syntax trees anyway, so there’s no difference between “normal” Elixir code and typespecs.

> [@Fl4m3Ph03n1x](#):
>
> How many pages does the book have?

Around 130 pages. I personally feel this book is not thick enough, so don’t expect in-depth explanations. In order to write your own macros, you’ll experience a whole lot of try and errors.

---

_[View the full topic](https://forum.elixirforum.com/t/metaprogramming-elixir-pragprog/5886)._
