Functional Java is an open source library that aims to prepare the Java programming language for the inclusion of closures. It also serves as a platform for learning functional programming concepts by introducing these concepts using a familiar language. The library is intended for use in production applications and is thoroughly tested using the technique of automated specification-based testing with ScalaCheck.

Functional Java currently includes the following algebraic structures:

Functional Java includes usage examples and notably, code examples that make use of the Java 7 BGGA proposal syntax. Here is one such example (import statements omitted) that maps a transformation across an array by adding 42 to each element.

      
      final Array<Integer> a = array(1, 2, 3);
      final Array<Integer> b = a.map({int i => i + 42});
      arrayShow(intShow).println(b); // {43,44,45}