Lecture 3, CSE341, Spring 2004 summary * Lists, continued (more examples) * Local bindings * for style * for efficiency * let-expressions are "first-class" (just like everything else) * can have local function bindings * environment for local functions * General pattern of learning language features * syntax * how do you create a ____ * how do you use a ____ * what is ____ good for (idioms) * (Time permitting) Some advantages of "no mutation" * sharing is undeterminable * no need to worry about copying * no need to worry about implementation * invariants across function applications * no need to worry about "what happens to data"