like haskell. How useful it would be in the context of a language like java, I don't know. You might make it part of an interpreter for a functional language implemented in java...