Lava Programming Language

Introduction to Lava programming language:

Lava is defined as an experimental interpreter-based programming language with an associated programming environment (Lava Programming Environment or Lava PE) that uses structure editors instead of text editors. Only comments, new identifiers, and constants may be entered as text.

Lava Programming Code

lava programming code

Feature of Lava programming language :

  • LAVA supports strict syntactic separation of interface (public) and implementation (private) sections of a Lava className.
  • It distinguishes variable "state objects" from constant "value objects"; the latter cannot be modified any longer after creation/initialization.
  • It supports "virtual types": type parameters of classes and packages.
  • Recursion and logical quantifiers are used instead of traditional loop constructs.
  • Single assignment is used i.e., a value can be assigned to a variable only once within the same branch of a function.
  • The LavaPE structure editors supports refactoring extensively.
  • It distinguishes between constituents (sub-objects) and object acquaintances.

Code Example :

  • A namespace member could be a namespace or a type declaration.
  • namespace-member-declarations:
  • namespace-member-declaration
  • namespace-member-declarations namespace-member-declaration
lava language


1.Lava – An Object-Oriented RAD Language ... (English, from the proceedings of a workshop of Gesellschaft für Informatik)
2.Lava: Bausteinbasiertes Programmieren mit Struktureditoren (German, Article in OBJEKTsprektrum 1/2002)