Improved Java Module System (iJAM)

An extension of LJAM that gives a more expressive & intuitive semantics.


The language was designed, formalized, and implemented by Rok Strniša.


iJAM is based on Lightweight Java Module System (LJAM). It solves the following two deficiencies with the Java Module System (JAM) that we have identified:

  1. unintuitive lookup functions for module and class definitions; and
  2. too restricted initialization of module definitions.

Please see the documents below for more details.

iJAM is formalized rigorously: using the Ott tool, we obtain the typeset rules and its formal definition (in Isabelle/HOL) from the same source --- its Ott source files.


The above software is released under a New BSD license.

Development History

Valid XHTML 1.1 Valid CSS