Programming Languages and Systems - Caires (Springer International Publishing, 2019)