<ulclass="crumbs"><li><ahref="../index.html">Home</a></li><li><ahref="../inform7n.html">Inform7</a></li><li><ahref="index.html">imperative</a></li><li><ahref="index.html#P">Preliminaries</a></li><li><b>What This Module Does</b></li></ul></div>
<ulclass="toc"><li><ahref="P-wtmd.html#SP1">§1. Prerequisites</a></li><li><ahref="P-wtmd.html#SP2">§2. About this layer of Inform</a></li></ul><hrclass="tocbar">
<pclass="commentary firstcommentary"><aid="SP1"class="paragraph-anchor"></a><b>§1. Prerequisites. </b>The imperative module is a part of the Inform compiler toolset. It is
presented as a literate program or "web". Before diving in:
full details, but essentially: it's C without predeclarations or header files,
and where functions have names like <spanclass="extract"><spanclass="extract-syntax">Tags::add_by_name</span></span> rather than just <spanclass="extract"><spanclass="extract-syntax">add_by_name</span></span>.
<pclass="commentary firstcommentary"><aid="SP2"class="paragraph-anchor"></a><b>§2. About this layer of Inform. </b>The <ahref="../runtime-module/index.html"class="internal">runtime</a> and <ahref="index.html"class="internal">imperative</a> modules (see <ahref="P-wtmd.html"class="internal">What This Module Does (in imperative)</a>)
jointly make up a layer of Inform whose task is to take the conceptual structures
now build up — rules, phrases, tables, the world model — and turn them into
<pclass="commentary">Neither module is in charge of the other. <ahref="../runtime-module/index.html"class="internal">runtime</a> makes extensive use of
<ahref="3-fnc.html"class="internal">Functions (in imperative)</a>, while <ahref="index.html"class="internal">imperative</a> uses <ahref="../runtime-module/2-emt.html"class="internal">Emit (in runtime)</a> and
<ahref="../runtime-module/2-hrr.html"class="internal">Hierarchy (in runtime)</a>. The demarcation line is that:
</p>
<ulclass="items"><li>●<ahref="index.html"class="internal">imperative</a> provides general mechanisms for compiling Inter functions,
and uses them to construct the functions needed for rules and phrases.
</li><li>●<ahref="../runtime-module/index.html"class="internal">runtime</a> organises the hierarchical structure of the Inter code being
made, and compiles the Inter representations of data structures like rulebooks
or tables, and any Inter functions needed to manage them at runtime.