CSE 320: Programming Languages @ CSU, San Bernardino

Go back to home page

Types Ⅰ

Required Reading

  1. Chapter 15 of PLAI up to the end of section 15.2 (stop at the start of 15.3). It is highly recommend to do the exercises in the book.

The focus in this reading should be on the following concepts:

  • What is static type checking?
  • What is the type environment?
  • Does introducing types change the semantics of a language?
  • What is strong normalization?
  • How do desugaring/macros work with type checking?
  • What does it mean for a type to be invariant across mutation?
  • What is a type system?
  • What does it mean for a type system to be sound?
  • What are progress and preservation?

Optional Reading

The required reading is enough this week. The extra credit questions will be from the required reading.

Advanced Reading

  1. “Types and Programming Languages” by Benjamin Pierce. A really excellent book, and the best introductio to this subject.