lambdaj is a Java library that allows you to manipulate collections in a pseudo-functional and statically typed way. The main purpose of lambdaj is to partially eliminate the burden of writing (often nested and poorly readable) loops while iterating over collections. In particular, it allows you to iterate a collection in order to filter its items on a given condition, convert each item with a given rule, extract a given property from each item, sort the items on the values of one of their properties, group or index the items on the value of one or more properties, invoke a method on each item, or aggregate the items or the values of one of their properties. It allows all this without having to write a single explicit loop.
The Objeck computer language is an object-oriented computing language with functional features that has ties with Java, C#, and Pascal. In this language, all data types are treated as objects. The language consists of a compiler and VM with an accompanying memory management and JIT compiler.