百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
I

inform

> 编程语言
开源

Inform 7 编程语言的核心软件分发。

1.6K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Inform 7 编程语言的核心软件分发。

Inform 7

Version: 10.2.0-beta+6Y13 'Krypton' (24 June 2026)

About Inform

Inform is a programming language for creating interactive fiction, using natural language syntax. Using natural language and drawing on ideas from linguistics and from literate programming, Inform is widely used as a medium for literary writing, as a prototyping tool in the games industry, and in education, both at school and university level (where Inform is often assigned material for courses on digital narrative). It has several times ranked in the top 100 most influential programming languages according to the TIOBE index. Created in April 2006, it was open-sourced in April 2022.

Inform is itself a literate program (written with inweb), one of the largest in the world. This means that a human-readable form of the code is continuously maintained alongside it: see ★ Inform: The Program

Software in this repository is copyright Graham Nelson 2006-2022 except where otherwise stated, and available under the Artistic License 2.0.

To consult... Turn to...
Brief news about ongoing work notes/working_notes.md
Licencing and copyright policy notes/copyright.md
Branching and versioning policy notes/versioning.md
Language evolution policy https://github.com/ganelson/inform-evolution
Version history and release notes notes/version_history.md
Pending changes not yet released notes/release/pending.md

Repositories

This is the "core Inform" repository, holding source code for the compiler, and for everything needed to run it on the command line. However:

  • To build and test the compiler on the command line you also need Inweb and Intest, programs spun out from the Inform project, with their own repositories:
    • https://github.com/ganelson/inweb
    • https://github.com/ganelson/intest
  • Most Inform authors use Inform as an app, not at the command line. While the UI looks similar on each platform, they are independent code-bases and each has its own repository:
    • https://github.com/TobyLobster/Inform for MacOS, maintained by Toby Nelson
    • https://github.com/DavidKinder/Windows-Inform7 for Windows, maintained by David Kinder
    • https://github.com/ptomato/inform7-ide for Linux, maintained by Philip Chimento
  • Proposals for changes to Inform are at the repository:
    • https://github.com/ganelson/inform-evolution
  • The server-side content for the Inform Public Library (a selection of downloadable extensions displayed within the apps) is here:
    • https://github.com/ganelson/inform-public-library

Build Instructions

Caution: The main branch of this repository generally holds "unstable", that is, unreleased work-in-progress versions of Inform. See notes/versioning.md.

Make a directory in which to work: let's call this work. Then:

  • Change the current directory to work: cd work
  • Build Inweb as work/inweb: see its repository here
  • Build Intest as work/intest: see its repository here
  • Clone Inform as work/inform: git clone https://github.com/ganelson/inform.git
  • Change the current directory to this: cd inform
  • Run a first-build script: bash scripts/first.sh
  • Check executables have compiled: inblorb/Tangled/inblorb -help
  • Run a single test case: ../intest/Tangled/intest inform7 -show Acidity.
  • If you have time (between 5 mins and 2 hours, depending on your system), make check to run the full suite of 2500 test cases.

Caution again: inform7 is written in standard C99, but is a challengingly large task for a C compiler. In the past we have had difficulties using gcc to compile it, and although we believe these may now be resolved, we recommend compiling the core Inform tools with clang rather than gcc where possible.

Issues and Contributions

The 2006-2021 Inform bug tracker, powered by Mantis, has now closed, and its issues and comments have been migrated to a a Jira tracker. The curator of the bug tracker is Brian Rushton, and the administrator is Hugo Labrande.

Note that Inweb and Intest have their own bug trackers (here and here). Please do not report bugs on those to the Inform tracker, or vice versa.

Members of the Inform community are welcome to open pull requests on this repository to address minor issues - for example, to fix bugs at the tracker, or to correct clear-cut typos or other errors. Contributions of this sort do not need an Inform Evolution proposal, but anything on a larger scale is likely to.

Inventory of this Repository

"I can't help feeling that if someone had asked me before the universe began how it would turn out, I should have guessed something a bit less like an old curiosity shop and a bit more like a formal French garden - an orderly arrangement of straight avenues, circular walks, and geometrically shaped trees and hedges." (Michael Frayn)

Inform is not a single program, but an assemblage of programs and resources. Some, including the inform7 compiler itself, are "literate programs", also called "webs". The notation ★ marks these, and links are provided to their human-readable forms.

Source for command-line tools

This most important contents of this repository are the source webs for the following command-line tools:

  • inbuild - version 10.2.0 - ★ Web - ▶ Documentation
    A simple build and package manager for the Inform tools.
  • inform7 - version 10.2.0 - ★ Web - ▶ Documentation
    The core compiler in a natural-language design system for interactive fiction.
  • inter - version 10.2.0 - ★ Web - ▶ Documentation
    For handling intermediate Inform code.
  • inblorb - version 4.1 - ★ Web - ▶ Documentation
    The packaging stage of the Inform 7 system, which releases a story file in the blorbed format.
  • inpolicy - version 1 - ★ Web - ▶ Documentation
    A lint-like tool to check up on various policies used in Inform source code.

Extensions shipped with Inform

The following webs are the source for the two most important extensions shipped with Inform:

  • Basic Inform by Graham Nelson - v1 - ★ Web
  • Standard Rules by Graham Nelson - v1 - ★ Web

Kits shipped with Inform

The following webs are the source for kits of Inter code shipped with Inform (inside the Basic Inform and Standard Rules extensions). Kits are libraries of code needed at run-time, and whose source is written in Inform 6 notation:

  • BasicInformKit - Support for Inform as a programming language - ★ Web
  • Architecture16Kit - Support for running on 16-bit platforms - ★ Web
  • Architecture32Kit - Support for running on 32-bit platforms - ★ Web
  • WorldModelKit - Support for modelling space, time and actions in interactive fiction - ★ Web
  • EnglishLanguageKit - Support for English as the natural language used - ★ Web
  • CommandParserKit - Support for parsing turn-by-turn commands in interactive fiction - ★ Web
  • DialogueKit - Additional support for dialogue (under construction) - ★ Web

Website templates and interpreters shipped with Inform

These are templates used by Inform to release story files within a website:

  • Classic - An older, plainer website
  • Standard - The default, more modern look

These are Javascript interpreters used to release such websites in a form which can play the story files interactively online:

  • inform7/Internal/Templates - Template websites for Inform 7's 'release as a website' feature
  • inform7/Internal/Templates/Parchment - Z-machine in Javascript - Parchment for Inform 7 (2024.2) - from [https://github.com/curiousdannii/parchment], maintained by Dannii Willis
  • inform7/Internal/Templates/Quixe - Glulx in Javascript - Quixe for Inform 7 (v. 2.2.6) - from [https://github.com/erkyrath/quixe], maintained by Andrew Plotkin

Documentation shipped with Inform

Two books come with the Inform apps. The source code for these books is in Markdown format: the inbuild tool makes those into mini-websites, or the pseudo-websites inside the apps.

  • Changes to Inform - A detailed change history of Inform 7. Ebook in Indoc format, stored at path resources/Changes.
  • Writing with Inform and the Inform Recipe Book - The main Inform documentation, as seen in the apps, and in standalone Epubs. Ebook in Indoc format, stored at path resources/Documentation.

In addition, there are:

  • resources/Outcome Pages - Inbuild uses these to generate HTML outcome pages (such as those showing Problem messages in the app)
  • resources/Sample Projects - Two small interactive fictions, 'Disenchantment Bay' and 'Onyx', presented as samples in the app

Retrospective builds of Inform

New in 2022 is the ability for apps to use past instead of present versions of the core Inform software when compiling a project. This means the core software distribution needs to contain some form of those past versions - at minimum, the extensions and compiler tools for (say) versions 9.1, 9.2 and 9.3.

That material is held in the "retrospective" directory. Note that documentation from past versions (e.g., past versions of "Writing with Inform") is not included.

Resources copied here from elsewhere

Stable versions of the following are periodically copied into this repository, but this is not where development on them is done, and no pull requests will be accep

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Cinteractive-fictionnatural-languageprogramming-language

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言