Online Manual: Overview

This document is aimed to supplement the OOPSLA paper (see Publications page) as a guidance for Classages programmers. While the paper is focused on the design principles and technical details, this document is to elucidate the correct use of the language, especially the well-formedness and the typing invariants of terms and expressions. It also provides some source code once used as test cases during the compiler development and now as programming examples.

This document assumes readers already have some basic knowledge of Classages, such as the difference between classages and objectages, three forms of classage interfaces (mixers, pluggers and connectors), and the process of mixing, plugin and connection. Readers are supposed to have read at least the first 3 sections of the OOPSLA paper (where the abstract syntax is also defined).

On the top-level, a programmer can define three forms of classages: atomic classages, compound classages, and interface-renamed classages. We will explain each of the three forms in separate sections.