improved Java Module System

improved Java Module System (iJAM) is an extension of Lightweight Java Module System that gives a more expressive & intuitive semantics.

Description

iJAM solves the following two deficiencies with the proposed Java Module System (and formalised within LJAM) that we have identified:

  1. Unintuitive lookup functions for module and class definitions.
  2. Too restricted initialization of module definitions.

The language 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.

Definition

The above software is released under a New BSD license.