Online Manual: Atomic Classages

An atomic classage has 6 potential kinds of members: mixers; pluggers (including singleton pluggers); connectors (including singleton connectors); local methods; local fields; constructors. Except constructors, all the aforementioned members have been explained in detail by the paper.

Classage constructors is almost identical to Java's. For instance,

classage X {
   X() { some code here }
   X(int x) { this(); }
}
denotes X has two constructors, distinguishable different argument types. The second constructor invokes the first constructor via a ``this'' constructor call, where this is a keyword.

When an atomic classage does not define its own constructor, a default constructor taking no argument is implicitly defined. However, if any explicit constructor is defined, the default constructor would not be added.

Well-formedness and Typechecking

Beyond the grammatical constraints every atomic classage must conform to - for instance a plugger or a mixer can not define per-connection states inside - an atomic classage fails to typecheck iff any of the following condition is met: