The Nice Programming Language

“Nice” is a Java-like language (with a horribly generic name) that can be compiled to Java VM bytecode and run on any Java VM.

Cool features:

Option types. (See the Nice manual section). Though this feature isn’t completely general (you can’t have String??, the handling of type parameters is kinda hackish), it’s a good start. They’re limited by their desire to interoperate easily with Java.