Principles and Practice of Programming Languages

Author

Bor-Yuh Evan Chang

Published

September 8, 2024

\(\newcommand{\TirName}[1]{\text{#1}} \newcommand{\inferrule}[3][]{ \let\and\qquad \begin{array}{@{}l@{}} \TirName{#1} \\ \displaystyle \frac{#2}{#3} \end{array} } \newcommand{\infer}[3][]{\inferrule[#1]{#2}{#3}} \)

Preface

Disclaimer: This manuscript is a draft of a set of course notes for CSCI 3155 Principles of Programming Languages at the University of Colorado Boulder. There may be typos, bugs, or inconsistencies that have yet to be resolved.

This version is work-in-progress update and revision from a previous LaTeX version.

The definitive current version is at https://csci3155.cs.colorado.edu/pppl-course/book/.