This document summarizes a talk on abusing the Erlang compilation pipeline for fun and profit. It discusses how understanding the different stages of compilation, from source code to BEAM files, allows for optimizations, syntax sugar, language implementations, and more. Key stages discussed include preprocessing, Core Erlang, kernel Erlang, BEAM assembly, and the final BEAM file. Understanding the pipeline provides opportunities for hot code reloading, DSLs, configuration files, and code analysis tools.
30. References
1. Our company - Appliscale.
2. Me - afronski.pl and my talks.
3. Functional Miners (facebook, twitter, github, email).
4. Hot-Code Reload (Learn You Some Erlang For Great Good)
5. Implementing Languages on the Erlang VM (R. Virding)
6. Virtually Instructional (L. Fridén)
7. Hack your own Erlang VM (R. Studnicki)
8. Core Erlang - Specification
9. Core Erlang - Documentation
10. A Peek Inside the Erlang Compiler (J. Hague)
11. Notes on Erlang Compiler (bhuztez)