implementing-programming-languages
what-your-interpreter-can-and-cannot-assume
implementing-variables-and-environments
implementing-closures
are-closures-efficient
racket-functions-as-macros-for-interpreted-language