Supercompiling Erlang is my Master of Science thesis. Here is the abstract:
Erlang is a programming language with excellent support for parallel and distributed programming. The functional programming paradigm with its higher order functions is used pervasively in Erlang, but code written in this style suffers in performance. In this work a supercompiler for Erlang is presented that can automatically eliminate higher-order functions and intermediate data structures.
The code is available at https://github.com/weinholt/erlscp/.