Book contains 9 chapters. In introductory chapter author presents functional programming as an assembly line transforming data into final result. In consecutives chapters he shows how to build any particular piece of assembly line: first define some first-class functions, then understand variables scope and closures, then use higher-order functions and finally define function-building functions. It was valuable lesson for me to remind closures, think more about composing functions to solve problems. In chapter about recursion I learned about interesting concept called trampoline – it is a control structure which flattens out recursive calls.
Product page: http://shop.oreilly.com/product/0636920028857.do