This page is under construction and therefore incomplete – see also the Browser page.

Modules in qBeta are singular objects and modules are organized in a hierarchical structure defined by the nesting of modules.

A program is also a module like:

myProgram: =
   V: ? String
   V := "Hello world"
   V.print

When the qcompiler is invoked on a module like myProgram:

qcompiler myProgram

All modules being used by myProgram are also compiled, and instantiated in some unspecified order. And since a module is a singular object, these modules are executed as part of the instantiation. The main-part of a module is thus intended for initialization. All code in a library module that should not be executed as part of the initialization should thus be encapsulated in patterns