Topics for 341/342 Test on 3/21/2015 (Test #2 i.e., non-cumulative final) (1) Recursion Tail-recursion (passing local variables in parameter list) (2) Function currying (3) Anonymous functions (4) Parameter passing: value, value/result, reference, name (5) Interpreter pseudo-code: read/eval loop Java-style language translations: Java source -> byte code -> interpreter What is Java bytecode. (6) Binding time: Lexical versus dynamic scope "hole in scope" compile time versus run time language design time (7) Haskell language, especially: list comprehension pattern matching guards recursion (8) Erlang language -- the ! operator only