Inform is a programming language used for interactive fiction and other creative purposes. Most users engage with it as an app on their devices: there are apps for MacOS, Windows, Linux and Android, but in the centre of each is the same core compiler and software.

Inform is not a single program. There are around 50 webs in all, together with some images, PDF files, sets of test cases, documentation, and so on. This page is intended as a jumping-off point to navigate these.

Inbuild

inbuild

A stand-alone build manager which is also Stage I of the Inform compiler.

Inform 7

inform7

The core Inform compiler.

Inter

inter

A stand-alone tool for intermediate-level code, which is also Stages VI and VII of the Inform compiler.

Services

services

Support for predicate calculus, linguistics, abstract syntax trees and other facilities needed by the compiler tools.

Inblorb

inblorb

A packaging tool for wrapping interactive fiction story files, included with the Inform apps but not as a part of the inform7 executable.

Inform 6

inform6

A compiler for a low-level programming language, included with the Inform apps but not as a part of the inform7 executable.

Basic Inform

Basic Inform

The Inform 7 extension read automatically into every project, defining much of the language.

Standard Rules

Standard Rules

The Inform 7 extension read automatically into every interactive fiction project, defining much of the world model.

BasicInformKit

BasicInformKit

A kit of Inter code providing runtime support for all programs written with Inform. Included with the apps in precompiled form.

BasicInformExtrasKit

BasicInformExtrasKit

A kit of Inter code providing runtime support for all programs not using WorldModelKit. Included with the apps in precompiled form.

WorldModelKit

WorldModelKit

A kit of Inter code providing runtime support for interactive fiction projects with a simulated world. Included with the apps in precompiled form.

CommandParserKit

CommandParserKit

A kit of Inter code providing runtime support for interactive fiction projects with a command parser interface. Included with the apps in precompiled form.

Indoc

indoc

A tool for typesetting the two books about Inform, and their hundreds of examples, so that these are readable in the apps. Needed by Inform (and Inform website) maintainers, but not end users.

Inpolicy

inpolicy

A small tool for checking that the Inform source base complies with some self-imposed social norms. Needed by Inform maintainers, but not end users.

Inrtps

inrtps

A small tool for formatting the run-time problem displays included with the Inform apps. Needed by Inform maintainers, but not end users.

Inweb

inweb

A literate-programming tool needed to build the other Inform tools. Needed by Inform maintainers, but not end users.

Intest

intest

A tool for running complex suites of end-to-end tests to verify the correctness of other tools. Needed by Inform maintainers, but not end users.

Foundation

foundation

A module of basic computing services used across all of the Inform tool-chain: file-handling, generating HTML, semantic version-numbering, string-handling, memory management.