Review Topics Chapter 1-5 Chapter 1 What do *1 and *2 represent? Functions: require, refer, use, doc, find-doc Doc strings Chapter 2 Ratio type /, quot, rem Functions: class, str, apply, interleave, false?, true?, defstruct, Maps Keyword vs. symbols Reader macros: quote, #’ defn, anonymous functions Vars let Destructuring :only ns if, do, loop/recur with-meta, meta, ^, assoc, #^ metadata, metadata keys Chapter 3 Accessing Constructors, Methods, and Fields Syntactic Sugar Chapter 4 first, rest, cons, next, conj, into range, repeat, take, cycle, interpose, list, set, hash-set, vec, vector, hash-map filter, take-while, drop-while, split-at, split-with every?, some map, reduce, sort, sort-by for (list comprehension) doall, dorun Seq-ing Java Collections, the File System, a Stream Function on Lists, Vectors, Maps, Sets Chapter 5 Lazy Sequences -- how do they work (use examples) -- do you need to use lazy-seq? explain. -- realization, explain (use examples). -- losing your head, explain (use examples) partition, partial trampoline (mutual recursion) Replacing (mutual) recursion with laziness -- explain (use examples) Shortcutting (mutual)recursion with memoization -- explain (use examples) Clojure Programs Write Clojure functions