mirror of
https://github.com/ganelson/inform.git
synced 2024-05-17 00:18:39 +03:00
45 lines
2.2 KiB
TeX
45 lines
2.2 KiB
TeX
% Start with the standard cover sheet:
|
|
|
|
[[Cover Sheet]]
|
|
|
|
% and now add:
|
|
|
|
\noindent{\it
|
|
Inform is a natural-language design system for interactive fiction, first
|
|
created in 1993. To most users it seems a single unified tool, but in fact
|
|
is made up of core software, common to all platforms, combined with
|
|
substantial user interfaces written independently for Mac OS X, Windows and
|
|
Linux, and with documentation and examples. The core material is in turn
|
|
divided into:
|
|
\medskip\par\noindent
|
|
Chapters 1 to 14: the source code to the NI compiler, written in C
|
|
\medskip\par\noindent
|
|
Appendix A: the Standard Rules, written in Inform 7
|
|
\medskip\par\noindent
|
|
Appendix B: the template layer, written in Inform 6
|
|
\medskip\par\noindent
|
|
Each of these chapter blocks is divided up into one or more named sections,
|
|
which have both full names (``Grammar Lines'') and abbreviations (|12/gl|,
|
|
the 12 signifying Chapter 12). Finally, each section is divided into
|
|
numbered ``paragraphs'', some named and others not. Code can thus be
|
|
approximately located by ``postal codes'' such as |12/gl|.$\S$7.
|
|
\medskip\par\noindent
|
|
Of its nature, Inform must perform a computational task which is difficult
|
|
to specify formally, particularly since part of its aim is to cope well
|
|
with incorrect input from an inexperienced user. It has become a complex
|
|
program some 120,000 lines in length, and like all such it must mitigate
|
|
its complexity using internal stylistic conventions and principles of
|
|
organisation. To this end it follows the ``literate programming'' dogma of
|
|
Donald Knuth, an idea which had in any case influenced Inform's own design.
|
|
In LP, a single source (``web'') is both ``tangled'' into a functional form
|
|
and also ``woven'' into a typeset form suitable for human readers. Inform
|
|
uses its own LP tool, |inweb|, an adaptation of Knuth's |CWEB| which scales
|
|
better to large multi-target projects.
|
|
\medskip\par\noindent
|
|
The Inform project's main goal is to publish the entire core Inform code
|
|
base, beginning in April 2008 with public drafts of Appendices A and B,
|
|
approximately 600pp of material. These use only the simplest form of LP
|
|
where tangling is minimal, and the reader needs no previous experience of
|
|
the genre.
|
|
}
|