CSE 320: Programming Languages @ CSU, San Bernardino

Go back to home page

Representation Ⅱ

Required Reading

  1. Chapter 13 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 is a macro?
  • What is macro expansion?
  • What is the type of a macro? (Put another way, a macro is a function from what to what?)
  • What is #' in a Racket program?
  • What are guards, and why are they useful?
  • Why should you not copy code?
  • What is macro hygiene, and why is it good?

Optional Reading

  1. Chapter 3 of “Let Over Lambda” by Doug Hoyte.

Advanced Reading

No advanced reading this time!