The Apache Groovy programming language - Blogs - Groovy 6 features for Functional Programmers

Groovy's functional programming stance: like Java, but with checked algebra, verified purity, monadic comprehensions, and machine-actionable annotations.