CSE 320: Programming Languages @ CSU, San Bernardino

Go back to home page

Types Ⅲ

Required Reading

  1. Chapter 15 of PLAI from the start of 15.3.3 to the end of chapter 15. It is highly recommend to do the exercises in the book.

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

  • What are tagged union types?
  • What are untagged union types?
  • What is soft typing?
  • What does it mean for a type system to be nominal?
  • What does it mean for a type system to be structural?
  • What are intersection types?
  • Why do recursive type signatures require a special constructor?
  • What is subtyping?
  • What is width subtyping?
  • What is depth subtyping?

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.