<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ InfoCategoryConstructor</code></td><td class="tdright">( info class )</td></tr></table></div>
<p>Info class controlling the debugging output of <code class="func">CategoryConstructor</code> (<a href="chap11.html#X8070F8B48111E8A7"><span class="RefLink">11.2-1</span></a>).</p>
<p>Creates a <strong class="pkg">CAP</strong> category subject to the options given via <var class="Arg">options</var>, which is a record with the following keys:</p>
<ul>
<li><p><code class="code">name</code> (optional): name of the category</p>
</li>
<li><p><code class="code">commutative_ring_of_linear_category</code> (optional): ring attached as <code class="func">CommutativeRingOfLinearCategory</code> (<a href="chap1.html#X78D0C0057817DBC3"><span class="RefLink">1.4-9</span></a>) to the category</p>
</li>
<li><p><code class="code">range_category_of_homomorphism_structure</code> (optional): category attached as <code class="func">RangeCategoryOfHomomorphismStructure</code> (<a href="chap1.html#X80AF18E4797A5BB4"><span class="RefLink">1.4-10</span></a>) to the category (or the string "self" to attach the category to itself)</p>
</li>
<li><p><code class="code">properties</code> (optional): list of categorical properties the category will have, see <code class="code">CAP_INTERNAL_CATEGORICAL_PROPERTIES_LIST</code></p>
</li>
<li><p><code class="code">object_constructor</code> (optional): function added as an installation of <code class="func">ObjectConstructor</code> (<a href="chap2.html#X825D050A8674D377"><span class="RefLink">2.7-1</span></a>) to the category</p>
</li>
<li><p><code class="code">object_datum</code> (optional): function added as an installation of <code class="func">ObjectDatum</code> (<a href="chap2.html#X8521A36F7BBFF6BD"><span class="RefLink">2.7-3</span></a>) to the category</p>
</li>
<li><p><code class="code">morphism_constructor</code> (optional): function added as an installation of <code class="func">MorphismConstructor</code> (<a href="chap3.html#X7F1FB34F789ECB10"><span class="RefLink">3.3-1</span></a>) to the category</p>
</li>
<li><p><code class="code">morphism_datum</code> (optional): function added as an installation of <code class="func">MorphismDatum</code> (<a href="chap3.html#X7BBFB178866108FA"><span class="RefLink">3.3-2</span></a>) to the category</p>
</li>
<li><p><code class="code">list_of_operations_to_install</code> (mandatory): a list of names of <strong class="pkg">CAP</strong> operations which should be installed for the category</p>
</li>
<li><p><code class="code">is_computable</code> (optional): whether the category can decide <code class="code">IsCongruentForMorphisms</code></p>
</li>
<li><p><code class="code">supports_empty_limits</code> (optional): whether the category supports empty lists in inputs to operations of limits and colimits</p>
</li>
<li><p><code class="code">underlying_category_getter_string</code> (optional): see below</p>
</li>
<li><p><code class="code">underlying_category</code> (optional): see below</p>
</li>
<li><p><code class="code">underlying_object_getter_string</code> (optional): see below</p>
</li>
<li><p><code class="code">underlying_morphism_getter_string</code> (optional): see below</p>
</li>
<li><p><code class="code">top_object_getter_string</code> (optional): see below</p>
</li>
<li><p><code class="code">top_morphism_getter_string</code> (optional): see below</p>
</li>
<li><p><code class="code">generic_output_source_getter_string</code> (optional): see below</p>
</li>
<li><p><code class="code">generic_output_range_getter_string</code> (optional): see below</p>
</li>
<li><p><code class="code">create_func_bool</code>: see below</p>
</li>
<li><p><code class="code">create_func_object</code>: see below</p>
</li>
<li><p><code class="code">create_func_morphism</code>: see below</p>
</li>
<li><p><code class="code">create_func_list_of_objects</code>: see below</p>
</li>
</ul>
<p>The values of the keys <code class="code">create_func_*</code> should be either the string <codeclass="code">"default" or functions which accept the category and the name of a <strong class="pkg">CAP</strong> operation of the corresponding <code class="code">return_type</code>. Values for return types occuring for operations in <code class="code">list_of_operations_to_install</code> are mandatory. The functions must return either strings or pairs of a string and an integer: The strings (after some replacements described below) will be evaluated and added as installations of the corresponding operations to the category with weights given by the integer (if provided). The value <code class="code">"default"</code> chooses a suitable default string (see the implementation for details) and gets the weights from <code class="code">underlying_category</code>. The following placeholders may be used in the strings and are replaced automatically:</p>
<ul>
<li><p><code class="code">operation_name</code> will be replaced by the name of the operation</p>
</li>
<li><p><code class="code">input_arguments...</code> will be replaced by the <code class="code">input_arguments_names</code> specified in the method name record (see <a href="chap7.html#X7E1C4F9D80329FEC"><span class="RefLink">7.3</span></a>)</p>
</li>
<li><p><code class="code">underlying_arguments...</code>: If the constructed category is created from another category, <code class="code">underlying_category_getter_string</code>, <code class="code">underlying_object_getter_string</code>, and <code class="code">underlying_morphism_getter_string</code> may be strings of functions computing the underlying category (when applied to the constructed category) and the underlying object resp. morphism (when applied to the constructed category and an object resp. morphism in the constructed category). These functions are applied to <code class="code">input_arguments</code> and <code class="code">underlying_arguments</code> is replaced by the result.</p>
</li>
<li><p><code class="code">number_of_arguments</code> will be replaced by the number of input/underlying arguments</p>
</li>
<li><p><code class="code">top_source</code> and <code class="code">top_range</code>: If the return type is <code class="code">morphism</code>, source and range are computed if possible and <code class="code">top_source</code> and <code class="code">top_range</code> are replaced by the results. For computing source and range, the <code class="code">output_source_getter_string</code> and <code class="code">output_range_getter_string</code> from the method name record are used if available (see <a href="chap7.html#X7E1C4F9D80329FEC"><span class="RefLink">7.3</span></a>). In some categories, source and range can always be obtained in a generic way (e.g. from the morphism datum). In this case, <code class="code">generic_output_source_getter_string</code> and <code class="code">generic_output_range_getter_string</code> can be set and are used if the required information is not available in the method name record.</p>
</li>
<li><p><code class="code">top_object_getter</code> and <code class="code">top_morphism_getter</code> are used in the <code class="code">"default"</code> strings and are replaced by <code class="code">top_object_getter_string</code> and <code class="code">top_morphism_getter_string</code>, respectively.</p>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.