This document discusses functional programming concepts in Groovy including closures, iterators, streams, partial evaluation, composition, memoization, and tail calls. It provides examples of using closures to solve problems like finding the cheapest/most expensive beer and total price. Advantages of Groovy like Java interoperability and libraries like GPars for parallel programming are mentioned. Resources for learning more about functional programming in Groovy are listed at the end.