Java extension with functional features: generics (parametric polymorphism), function pointers (first-class (higher-order) functions), class cases and pattern matching (algebraic (data)types).
A variant of Java that adds parametric polymorphism, first-class functions, and class cases and pattern matching to the language. The compiler compiles into Java byte code so the binaries can be run on a normal JVM. [Freeware]