Description
This session looks at the key Groovy features that support a functional style. Topics covered include using closures, currying and partial evaluation, closure composition, useful function-centric AST macros, useful function-centric runtime metaprogramming tricks, trampolining, using Java functional libraries, immutable data structures, lazy and infinite lists, using Groovy 2’s static typing, and approaches for moving beyond Java’s type system. The relationship between Groovy and Java 8 lambdas is also briefly discussed.