CleanJ - Concurrent Clean on Java VM

"CleanJ is a project for running Concurrent Clean programs on Java VM.

Concurrent Clean is a pure and non-strict functional language whose syntax is similar to that of Haskell. It is characterized by uniqueness typing to allow side-effect.

CleanJ's approach is to translate ABC code into Java program. ABC code is a intermediate language generated by Clean compiler. CleanJ system consists of a ABC-Java translator and translated runtime libraries."