Est. 2006 Intermediate

Inform 7

A natural-language, rule-based programming language for writing interactive fiction, in which source code reads like grammatical English prose.

Created by Graham Nelson

Paradigm Declarative, Rule-based, Natural-language
Typing Kind-based (a strongly checked type system built on "kinds" of value and object)
First Appeared 2006
Latest Version v10.1.2 (2022)

Inform 7 is a programming language for creating interactive fiction — the text-driven, parser-based narrative games descended from classics like Zork and Adventure. Created by the British mathematician and IF author Graham Nelson, Inform 7 is one of the most prominent real-world examples of natural-language programming: its source code is written as grammatical English sentences, so that a description of a fictional world reads much like a description written for a human. Behind that prose sits a rigorous, rule-based system that compiles down to portable virtual-machine bytecode playable on interpreters across nearly every platform.

History & Origins

Inform 7 grew out of the earlier Inform system that Nelson first released in 1993. That original line — culminating in the C-like, object-oriented Inform 6 of 1996 — had become the de facto standard tool for noncommercial interactive fiction. Inform 7, however, was not an evolution of that syntax but a deliberate break from it.

Nelson announced the public beta of Inform 7 on the rec.arts.int-fiction newsgroup on 30 April 2006. The project was briefly known as Natural Inform, reflecting its central idea: that an author should be able to write the source of a game in something close to ordinary English. The design was shaped not only by Nelson but by collaborators including the influential IF author Emily Short and Andrew Plotkin (creator of the Glulx virtual machine). To launch the system, the team shipped a set of “worked examples” — complete, medium-to-large games published with their full source — including Short’s Bronze and Floatpoint and Nelson’s The Reliques of Tolti-Aph. Later in 2006, Floatpoint became the first Inform 7 game to win the annual Interactive Fiction Competition, putting the new language in front of the whole community.

Crucially, Inform 7 is not a fork of Inform 6. It is a separate language whose compiler historically translated source into Inform 6 code, which the Inform 6 compiler then turned into a finished story file. This layered architecture let Inform 7 reuse the mature, battle-tested runtime of its predecessor while presenting authors with a radically different surface.

Design Philosophy

The defining principle of Inform 7 is that source code should read like prose. Rather than declaring objects with braces and properties, an author states facts about the world and rules that govern it:

The Kitchen is a room. "A cramped kitchen. A door leads north."

The red apple is an edible thing in the Kitchen.
The description of the apple is "A shiny red apple."

Instead of eating the apple:
    say "It is far too perfect to eat."

Each sentence is an assertion that the compiler reads literally. “The Kitchen is a room” creates an object of the kind room; “The red apple is an edible thing in the Kitchen” creates an object, places it, and gives it a property — all in one English clause. This is declarative and rule-based rather than procedural: the author describes what is true and what should happen in particular situations, and the built-in Standard Rules supply the default behavior of a parser game (movement, taking and dropping, containment, light, scenery, and so on).

The goal is to lower the barrier for writers without a programming background while keeping the full expressive power of a real language underneath. Where finer control is needed, Inform 7 can even drop down to embedded Inform 6 code.

Key Features

  • Natural-language source. Programs are written as English sentences. The compiler enforces a precise grammar, so the prose is constrained — but it remains far closer to human language than conventional code.
  • Kinds. Inform 7 has a strong, checked type system built on kinds — both kinds of object (room, thing, person, container, door) and kinds of value (number, text, time, and author-defined kinds). New kinds can be defined and arranged in hierarchies.
  • Rulebooks and rules. Behavior is organized into rulebooks: ordered collections of rules that fire in particular circumstances (“Instead of…”, “Before…”, “After…”, “Every turn…”). Authors insert, reorder, and replace rules rather than editing monolithic procedures.
  • Relations. First-class relations express how things connect — who carries what, which rooms adjoin, who loves whom — and can be queried and asserted in natural-language terms.
  • Activities and the world model. A rich default world model handles the mechanics of a parser game, and activities let authors hook into and customize processes such as printing a room’s description or listing the contents of a container.
  • Extensions. The community shares reusable extensions — themselves written in Inform 7 — for everything from conversation systems to procedural generation, managed through a public extensions library.
  • A dedicated IDE. Inform 7 ships with a graphical environment built around a book-and-publishing metaphor: the source on one side, and the compiled game, an Index of the world model, a Transcript, and a tree of test runs called the Skein on the other.
  • Virtual-machine targets and web play. Games compile to Infocom’s original Z-machine or to the more capacious Glulx VM created by Andrew Plotkin, and can be played in the browser through bundled JavaScript interpreters (Parchment for the Z-machine, Quixe for Glulx).

Evolution

For most of its life, Inform 7 was distributed in closed-source builds identified by terse codes such as 3K27 (the original April 2006 beta), the Fluorine series around 2008 (e.g. 5U92), 6G60 in December 2010, and 6L02 in May 2014. The build 6M62, released in December 2015, proved exceptionally long-lived: it remained the standard release for more than six years and is still referenced widely in older documentation and games.

The most significant change in the language’s history came in April 2022. On 28 April 2022, Nelson made the Inform 7 source repository public for the first time, releasing version 10.1.0 under the Artistic License 2.0 — ending sixteen years as freeware. This release was a major internal rebuild centered on a new intermediate-code compiler called Inter, replacing the previous strategy of generating Inform 6 source as a fixed middle step. The compiler is itself published as a literate program (using Nelson’s Inweb tool), so its inner workings are documented and readable. Subsequent maintenance releases, including v10.1.2, followed later in 2022.

Current Relevance

Inform 7 is, alongside Twine and its own predecessor Inform 6, one of the dominant authoring systems for interactive fiction. A substantial share of entries in the annual Interactive Fiction Competition and other community events are written with it, and many of the form’s most celebrated modern works — Emily Short’s Counterfeit Monkey, Andrew Plotkin’s Hadean Lands — were built in the language. It has reportedly appeared at times among the languages tracked by popularity indices such as TIOBE, which would be unusual for a tool aimed squarely at narrative authors.

The 2022 open-sourcing gave the project renewed momentum: a transparent toolchain, a public GitHub repository, a separate repository for evolution proposals, and an active community on forums such as intfiction.org. Official IDE applications are available for Windows, macOS, and Linux. While no official Docker images are published, the command-line compiler enables automated, headless builds for authors who prefer to work outside the IDE.

Why It Matters

Inform 7 stands as one of the most ambitious and successful attempts at natural-language programming ever shipped. Where most experiments in writing code as English remain academic curiosities, Inform 7 has been used for two decades to produce serious, award-winning creative work — demonstrating that a declarative, prose-like syntax can be expressive enough for demanding authors yet approachable enough for newcomers. It also exemplifies a thoughtful approach to language design as world-building: by organizing behavior into rulebooks, relations, and kinds rather than procedures, it offers a model of computation that mirrors how a writer thinks about a story rather than how a machine executes instructions. Few languages sit so deliberately at the intersection of software engineering and literature.

Timeline

2006
Graham Nelson announces the public beta of Inform 7 (briefly called Natural Inform) on 30 April 2006 — a wholly new natural-language, rule-based design with a dedicated IDE, developed with input from Emily Short and Andrew Plotkin
2006
Emily Short's Floatpoint becomes the first Inform 7 game to win the annual Interactive Fiction Competition, demonstrating the new language to the community
2008
The Fluorine series of builds (e.g. 5U92, September 2008) refines the language and the world model during Inform 7's rapid early development
2010
Build 6G60 (December 2010) is released, one of the long-lived stable builds used widely by authors
2014
Build 6L02 (May 2014) introduces significant language and IDE changes during the Iron-series releases
2015
Build 6M62 (December 2015) becomes the last build of the closed-source era and remains the standard release for over six years
2022
Inform 7 is open-sourced on 28 April 2022 with release v10.1.0 under the Artistic License 2.0, rebuilt around the new Inter compiler; v10.1.2 follows later in 2022

Notable Uses & Legacy

Counterfeit Monkey (2012)

Emily Short's wordplay-driven adventure, written in Inform 7 and compiled to Glulx, which topped the community's Interactive Fiction Top 50 of All Time polls in both 2019 and 2023.

Floatpoint (2006)

Emily Short's science-fiction story and the first Inform 7 game to win the annual Interactive Fiction Competition, released the same year as the public beta.

Hadean Lands (2014)

Andrew Plotkin's large alchemy-puzzle game, written in Inform 7 and released commercially on platforms including Steam and iOS — an example of the language used for an ambitious, polished work.

Bronze (2006)

Emily Short's Beauty-and-the-Beast retelling, distributed as one of the original 'worked examples' that shipped with the Inform 7 beta to teach the new system.

The Reliques of Tolti-Aph (2006)

Graham Nelson's own RPG-flavored adventure, released alongside the beta as a demonstration of building game mechanics in the new natural-language design.

Language Influence

Influenced By

Inform 6

Running Today

Run examples using the official Docker image:

docker pull
Last updated: