Lava
An experimental component-, pattern- and
object-oriented programming language with parameterized ("virtual")
types; the Lava programming environment (
LavaPE) supports refactoring and provides a
user interface with syntax-sensitive point-and-click style
structure editors instead of text editors for program editing.