This book offers a fresh perspective on the fundamentals of programming languages through the use of type theory.