An overview of the core module's role and abilities.


§1. Prerequisites. The core module is a part of the Inform compiler toolset. It is presented as a literate program or "web". Before diving in:

§2. The Core. Until 2020, the core module contained almost the entire compiler, but it is now modularised in such a way that core itself only manages the sequence of operations.

When supervisor decides that an Inform project is being compiled, it uses the words and syntax modules to build a parse tree for the project and any extensions it needs, and works out dependencies on kits of Inter code. We don't need to deal with any of that. For core, the business starts when supervisor calls Task::carry_out. The process is a long multi-stage one, run as a production line: see How To Compile for a detailed list of steps, but roughly:

There are then two expansion packs, as it were: the if and multimedia modules, which do nothing essential but add support for interactive fiction and for sound and images respectively.