Lecture 8, CSE341, Spring 2004 summary * Functions with free variables (function closures) * A more careful definition of evaluation in terms of environments * More on higher-order functions * Useful functions for passing to functions like map (e.g., result of add_n) * Useful functions for passing as "callbacks" * fold * even more general than map * uses with and without free variables * combining functions (e.g., compose)