Programming Languages and Systems - Yang (Springer Berlin Heidelberg, 2017)