Lava (programming language)


Lava is an experimental, visual object-oriented, interpreter-based programming language with an associated programming environment that uses structure editors instead of text editors. Only comments, constants, and new identifiers may be entered as text.
Declarations are represented in LavaPE as tree structures whose subtrees may be collapsed or expanded. The properties of the declared Lava can be edited through pop-up dialogs.
Although executable code has a traditional text representation in LavaPE, it can be edited only as complete syntactic units, rather than character by character. If you insert a new syntactic construct, it will typically contain "placeholders" that can then be replaced by concrete constructs; the latter may in turn contain syntactic variables, etc. LavaPE provides a tool button for every type of syntactic construct, and a button is enabled only if it is syntactically correct to insert the associated construct at the selected place.
Further characteristic properties of Lava and LavaPE include the following:
Lava is open source software using the GPL license. It currently runs on Microsoft Windows, Linux and Mac OS X platforms.