<!--Weave of 'How To Include This Module' generated by Inweb-->
<divclass="breadcrumbs">
<ulclass="crumbs"><li><ahref="../index.html">Home</a></li><li><ahref="../compiler.html">Services</a></li><li><ahref="index.html">inflections</a></li><li><ahref="index.html#P">Preliminaries</a></li><li><b>How To Include This Module</b></li></ul></div>
<pclass="purpose">What to do to make use of the inflections module in a new command-line tool.</p>
<ulclass="toc"><li><ahref="P-htitm.html#SP1">§1. Status</a></li><li><ahref="P-htitm.html#SP2">§2. Importing the module</a></li><li><ahref="P-htitm.html#SP3">§3. Using callbacks</a></li></ul><hrclass="tocbar">
<pclass="commentary firstcommentary"><aid="SP1"class="paragraph-anchor"></a><b>§1. Status. </b>The inflections module is provided as one of the "services" suite of modules,
<pclass="commentary">By convention, the modules considered as "services" have no dependencies on
other modules except for <ahref="../../../inweb/docs/foundation-module/index.html"class="internal">foundation</a> and other "services" modules.
</p>
<pclass="commentary">A tool can import <ahref="index.html"class="internal">inflections</a> only if it also imports <ahref="../../../inweb/docs/foundation-module/index.html"class="internal">foundation</a>,
<ahref="../words-module/index.html"class="internal">words</a> and <ahref="../syntax-module/index.html"class="internal">syntax</a>.
<pclass="commentary firstcommentary"><aid="SP2"class="paragraph-anchor"></a><b>§2. Importing the module. </b>We'll use the term "parent" to mean the tool which is importing <ahref="index.html"class="internal">inflections</a>,
<ulclass="items"><li>● The parent must call <spanclass="extract"><spanclass="extract-syntax">InflectionsModule::start()</span></span> just after it starts up, and
<spanclass="extract"><spanclass="extract-syntax">InflectionsModule::end()</span></span> just before it shuts down. (But just after, and just
before, the corresponding calls to <ahref="../../../inweb/docs/foundation-module/index.html"class="internal">foundation</a>.)
<pclass="commentary firstcommentary"><aid="SP3"class="paragraph-anchor"></a><b>§3. Using callbacks. </b>Shared modules like this one are tweaked in behaviour by defining "callback
functions". This means that the parent might provide a function of its own
which would answer a question put to it by the module, or take some action
on behalf of the module: it's a callback in the sense that the parent is
normally calling the module, but then the module calls the parent back to
<pclass="commentary">This module has only one callbacks and it is optional:
</p>
<ulclass="items"><li>●<spanclass="extract"><spanclass="extract-syntax">VC_COMPILATION_LINGUISTICS_CALLBACK</span></span>, if provided, allows the <spanclass="extract"><spanclass="extract-syntax">compilation_data</span></span>
part of a <spanclass="extract"><spanclass="extract-syntax">verb_conjugation</span></span> to be initialised. See <ahref="3-vc.html#SP6"class="internal">Conjugation::conjugate</a>.