Stanford University: Keith Schwarz's "Runtime Environments II"

Read these slides, which describe the encoding of objects, inheritance, and dynamic type checking, including difficulties and solutions.