Human-readable source code.
This GitHub project was written as a literate program, powered by a LP tool
called Inweb. While almost all programs at Github are open to inspection, most
are difficult for new readers to navigate, and are not structured for extended
reading. By contrast, a "web" (the term goes back to Knuth: see
Wikipedia)
is designed to be read by humans in its "woven" form, and to be compiled or
run by computers in its "tangled" form.
These pages showcase the woven form, and are for human eyes only.
The main Inform 7 compiler, front end and back end:
-
★ inform7 -
version 7.10.1 'Krypton' (build 6Q21)
- The core compiler in a natural-language design system for interactive fiction.
Documentation is here.
-
↳ ★ words (module of inform7) -
A library of code for reading natural language into a stream of words.
-
↳ ★ words-test -
Unit tests for the words module. (Not compiled in Inform itself.)
-
↳ ★ inflections (module of inform7) -
A library for adapting words or short phrases for linguistic purposes.
-
↳ ★ inflections-test -
Unit tests for the inflections module. (Not compiled in Inform itself.)
-
↳ ★ syntax (module of inform7) -
A library of code to build a parse tree and break text into sentences.
-
↳ ★ syntax-test -
Unit tests for the syntax module. (Not compiled in Inform itself.)
-
↳ ★ problems (module of inform7) -
The issuing mechanism for problem messages used by Inform.
-
↳ ★ problems-test -
Unit tests for the problems module. (Not compiled in Inform itself.)
-
↳ ★ linguistics (module of inform7) -
A library of code to store grammatical categories of vocabulary.
-
↳ ★ linguistics-test -
Unit tests for the linguistics module. (Not compiled in Inform itself.)
-
↳ ★ kinds (module of inform7) -
The type system used by Inform.
-
↳ ★ kinds-test -
Unit tests for the kinds module. (Not compiled in Inform itself.)
-
↳ ★ core (module of inform7) -
The core of the Inform compiler, as a module.
-
↳ ★ if (module of inform7) -
The interactive-fiction specific layer of Inform, as a module.
-
↳ ★ multimedia (module of inform7) -
A multimedia extension module for Inform.
-
↳ ★ index (module of inform7) -
Indexing tools needed by Inform, as a module.
-
★ inter -
version 1 'Axion'
- For handling intermediate Inform code.
Documentation is here.
-
↳ ★ inter (module of both inform7 and inter) -
Code for dealing with intermediate-level Inform.
-
↳ ★ building (module of both inform7 and inter) -
An intermediate layer for building code in Inter.
-
↳ ★ codegen (module of both inform7 and inter) -
The code generation pipeline.
The two extensions (though their use is compulsory) which, though themselves written in Inform, create the Inform language:
-
★ basic_inform -
version 1
- The Basic Inform extension, included in all projects.
-
★ standard_rules -
version 6
- The Standard Rules extension, included in all interactive fiction projects.
The kits of Inter code which support low-level features of the language:
Other webs in this repository:
-
★ inblorb -
version 4 'Duralumin'
- The packaging stage of the Inform 7 system, which releases a story file in the blorbed format.
Documentation is here.
-
★ inbuild -
version 1 'Avignon'
- A simple build and package manager for the Inform tools.
Documentation is here.
-
★ indoc -
version 4 'Didache'
- The documentation-formatter for the Inform 7 system.
Documentation is here.
-
★ inpolicy -
version 1 'Plan A'
- A lint-like tool to check up on various policies used in Inform source code.
Documentation is here.
-
★ inrtps -
version 2 'Benefactive'
- A generator of HTML pages to show for run-time problem messages in Inform.
Documentation is here.
Rekated webs in other repositories: