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:
main function of other languages like C.
See Particular programs.
access construct. Prelude packets
are so-called because their contents get stuffed in the
user-prelude in the case of user-defined modules, or the
library-prelude in the case of module packets provided by the
compiler. They are usually used to compose libraries that can be used
in a bottom-up fashion.
See Modules.
egg construct, that can be stuffed in a matching
formal hole in another package via a nest construct.
Formal holes are used in order to achieve separated compilation in a
top-bottom fashion, and also to invoke procedures written in other
languages, such as C functions or Fortran subroutines.
See Holes.
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.