CSE 320: Programming Languages @ CSU, San Bernardino

Go back to home page

Functions Ⅱ

Required Reading

  1. Chapter 7 of PLAI. It is highly recommend to do the exercises in the book.

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

  • What are closures? How are they implemented?
  • How do functions and closures relate? Are functions closures? Are closures functions?
  • What is the “top-level” of a program?
  • What is capture-free substitution? Why is it necessary?
  • What is let? How is it defined?

Optional Reading

  1. Section 2.2.1 of “The Implementation of Functional Programming Languages” by Simon Peyton Jones.

Advanced Reading

  1. “A lambda is not (necessarily) a closure” by Andy Wingo.