2.1 Packets

Each Algol 68 source file contains a packet. Packets therefore play the role of compilation units, and each packet can be compiled separately to an object file. A set of compiled object files can then be linked in the usual fashion into an executable, archive or shared object by the system linker, without the need of any language-specific link editor or build system.

This compiler supports three different kind of packets:

A collection of packets, all of which must be compatible with each other, constitutes either a program or a library. Exactly one of the packets constituting a program shall be a particular program. In libraries at least one packet must be a prelude packet.