1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-07-03 07:24:58 +03:00
inform7/docs/assertions-module/index.html
2022-04-28 17:37:28 +01:00

456 lines
22 KiB
HTML

<html>
<head>
<title>assertions</title>
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
<meta name="viewport" content="width=device-width initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-gb">
<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
</head>
<body class="commentary-font">
<nav role="navigation">
<h1><a href="../index.html">
<img src="../docs-assets/Inform.png" height=72">
</a></h1>
<ul><li><a href="../index.html">home</a></li>
</ul><h2>Compiler</h2><ul>
<li><a href="../structure.html">structure</a></li>
<li><a href="../inbuildn.html">inbuild</a></li>
<li><a href="../inform7n.html">inform7</a></li>
<li><a href="../intern.html">inter</a></li>
<li><a href="../services.html">services</a></li>
<li><a href="../secrets.html">secrets</a></li>
</ul><h2>Other Tools</h2><ul>
<li><a href="../inblorbn.html">inblorb</a></li>
<li><a href="../indocn.html">indoc</a></li>
<li><a href="../inform6.html">inform6</a></li>
<li><a href="../inpolicyn.html">inpolicy</a></li>
<li><a href="../inrtpsn.html">inrtps</a></li>
</ul><h2>Resources</h2><ul>
<li><a href="../extensions.html">extensions</a></li>
<li><a href="../kits.html">kits</a></li>
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inweb/index.html">inweb</a></li>
<li><a href="../../../intest/index.html">intest</a></li>
</ul>
</nav>
<main role="main">
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../inform7n.html">Inform7</a></li><li><b>assertions</b></li></ul>
<p class="purpose">Dealing with top-level declarations in Inform source text. This is version 1.</p>
<hr>
<div class="contentspage">
<ul class="chapterlist">
<li>
<p class="chapterentry"><a name="P"></a>
<span class="chaptertitle">Preliminaries</span></p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="P-wtmd.html">
<spon class="sectiontitle">What This Module Does</span></a> -
<span class="sectionpurpose">An overview of the assertions module's role and abilities.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="1"></a>
<span class="chaptertitle">Chapter 1: Configuration and Control</span></p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="1-am.html">
<spon class="sectiontitle">Assertions Module</span></a> -
<span class="sectionpurpose">Setting up the use of this module.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="2"></a>
<span class="chaptertitle">Chapter 2: Declarations</span></p>
<p class="chapterpurpose">Passing three times through top-level declarations and assertion sentences.</p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="2-bv.html">
<spon class="sectiontitle">Booting Verbs</span></a> -
<span class="sectionpurpose">In Inform even verbs are created with natural language sentences, but this process has to start somewhere.</span></p>
</li>
<li>
<p class="sectionentry"><a href="2-ptmn.html">
<spon class="sectiontitle">Passes through Major Nodes</span></a> -
<span class="sectionpurpose">To manage the overall process of traversing the parse tree for top-level declarations and assertion sentences.</span></p>
</li>
<li>
<p class="sectionentry"><a href="2-ar.html">
<spon class="sectiontitle">Anaphoric References</span></a> -
<span class="sectionpurpose">To keep track of the current object and subject of discussion.</span></p>
</li>
<li>
<p class="sectionentry"><a href="2-cs.html">
<spon class="sectiontitle">Classifying Sentences</span></a> -
<span class="sectionpurpose">To work out the verbs used and to diagram sentences in the source.</span></p>
</li>
<li>
<p class="sectionentry"><a href="2-ps.html">
<spon class="sectiontitle">Property Sentences</span></a> -
<span class="sectionpurpose">To examine assertion sentences for property creation.</span></p>
</li>
<li>
<p class="sectionentry"><a href="2-is.html">
<spon class="sectiontitle">Imperative Subtrees</span></a> -
<span class="sectionpurpose">To tidy up blocks of rule and phrase definition in the syntax tree.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="3"></a>
<span class="chaptertitle">Chapter 3: Requests</span></p>
<p class="chapterpurpose">Sentences, often imperative, which have special meanings.</p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="3-dlr.html">
<spon class="sectiontitle">Debugging Log Requests</span></a> -
<span class="sectionpurpose">Special sentences for changing what goes into the debugging log.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-pr.html">
<spon class="sectiontitle">Pluralisation Requests</span></a> -
<span class="sectionpurpose">Special sentences for setting exotic plural forms of nouns.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-tr.html">
<spon class="sectiontitle">Translation Requests</span></a> -
<span class="sectionpurpose">Three unrelated senses of "X translates into Y as Z" sentences.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-nuor.html">
<spon class="sectiontitle">New Use Option Requests</span></a> -
<span class="sectionpurpose">Special sentences for creating new use options.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-uor.html">
<spon class="sectiontitle">Use Options</span></a> -
<span class="sectionpurpose">Special sentences for setting compilation options.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-tr2.html">
<spon class="sectiontitle">Test Requests</span></a> -
<span class="sectionpurpose">Special sentences for requesting unit tests or providing test scripts.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-dbtr.html">
<spon class="sectiontitle">Define by Table Requests</span></a> -
<span class="sectionpurpose">Special sentences declaring that tables amount to massed groups of assertions.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-rpr.html">
<spon class="sectiontitle">Rule Placement Requests</span></a> -
<span class="sectionpurpose">Special sentences for listing named rules in particular rulebooks.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-nar.html">
<spon class="sectiontitle">New Activity Requests</span></a> -
<span class="sectionpurpose">Special sentences creating new activities.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-nlpr.html">
<spon class="sectiontitle">New Literal Pattern Requests</span></a> -
<span class="sectionpurpose">Special sentences creating new notations for literal values.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-nrr.html">
<spon class="sectiontitle">New Relation Requests</span></a> -
<span class="sectionpurpose">Special sentences for creating new relations.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-npr.html">
<spon class="sectiontitle">New Property Requests</span></a> -
<span class="sectionpurpose">Special sentences creating new either/or properties.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-nvr.html">
<spon class="sectiontitle">New Verb Requests</span></a> -
<span class="sectionpurpose">Special sentences for creating new verbs.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-nar2.html">
<spon class="sectiontitle">New Adjective Requests</span></a> -
<span class="sectionpurpose">Special sentences for creating new adjectives.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-ir.html">
<spon class="sectiontitle">Intervention Requests</span></a> -
<span class="sectionpurpose">Special sentences for inserting low-level material written in Inform 6 notation.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="4"></a>
<span class="chaptertitle">Chapter 4: Assertions</span></p>
<p class="chapterpurpose">Turning regular assertion sentences into propositions about the model world.</p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="4-nr.html">
<spon class="sectiontitle">Name Resolution</span></a> -
<span class="sectionpurpose">To resolve abbreviated or ambiguous nouns in context of their headings.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-rpt.html">
<spon class="sectiontitle">Refine Parse Tree</span></a> -
<span class="sectionpurpose">To determine which subjects are referred to by noun phrases such as "the table" or "a paper cup" found in assertion sentences.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-tc.html">
<spon class="sectiontitle">The Creator</span></a> -
<span class="sectionpurpose">This is where all objects, kinds of object, named values, kinds of value and global variables are made.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-ass.html">
<spon class="sectiontitle">Assertions</span></a> -
<span class="sectionpurpose">To infer facts about the model world, or take other action, based on sentences asserted as being true in the source text.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-npa.html">
<spon class="sectiontitle">New Property Assertions</span></a> -
<span class="sectionpurpose">When regular assertion sentences create properties.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-pk.html">
<spon class="sectiontitle">Property Knowledge</span></a> -
<span class="sectionpurpose">This section draws inferences from assertions which seem to be about the properties of things, independent of their location.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-rk.html">
<spon class="sectiontitle">Relation Knowledge</span></a> -
<span class="sectionpurpose">This section draws inferences about the relationships between objects or values.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-ass2.html">
<spon class="sectiontitle">Assemblies</span></a> -
<span class="sectionpurpose">To build the complex multi-object assemblies which result from allowing the source text to say things like "in every room is a vehicle".</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-imp.html">
<spon class="sectiontitle">Implications</span></a> -
<span class="sectionpurpose">To keep track of a dangerous form of super-assertion called an implication, which is allowed to generalise about properties.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="5"></a>
<span class="chaptertitle">Chapter 5: Imperative Code</span></p>
<p class="chapterpurpose">What happens to preambles, colons, and blocks of imperative code.</p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="5-id.html">
<spon class="sectiontitle">Imperative Definitions</span></a> -
<span class="sectionpurpose">Each IMPERATIVE node in the syntax tree makes a definition using imperative code.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-idf.html">
<spon class="sectiontitle">Imperative Definition Families</span></a> -
<span class="sectionpurpose">Different categories of imperative definition.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-adf.html">
<spon class="sectiontitle">Adjectival Definition Family</span></a> -
<span class="sectionpurpose">Imperative definitions of "Definition: X is Y: ..." adjectives.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-tpf.html">
<spon class="sectiontitle">To Phrase Family</span></a> -
<span class="sectionpurpose">Imperative definitions of "To..." phrases.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-ptd.html">
<spon class="sectiontitle">Phrase Type Data</span></a> -
<span class="sectionpurpose">To create, manage, compare the logical specificity of, and assist excerpt parsing concerning, the type of a To phrase.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-ptd2.html">
<spon class="sectiontitle">Parsing Type Data</span></a> -
<span class="sectionpurpose">To parse the prototype text of a To... phrase into its type data.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-po.html">
<spon class="sectiontitle">Phrase Options</span></a> -
<span class="sectionpurpose">To create and subsequently parse against the list of phrase options with which the user can choose to invoke a To phrase.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-rf.html">
<spon class="sectiontitle">Rule Family</span></a> -
<span class="sectionpurpose">Imperative definitions of rules.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-rcd.html">
<spon class="sectiontitle">Runtime Context Data</span></a> -
<span class="sectionpurpose">To store the circumstances in which a rule phrase should fire.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="6"></a>
<span class="chaptertitle">Chapter 6: Rules, Rulebooks and Activities</span></p>
<p class="chapterpurpose">Rules are named phrases which are invoked in a particular way, and rulebooks a way to organise lists of them.</p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="6-rls.html">
<spon class="sectiontitle">Rules</span></a> -
<span class="sectionpurpose">Rules contain imperative code which is executed when certain actions, activities or other processes are being followed.</span></p>
</li>
<li>
<p class="sectionentry"><a href="6-rb.html">
<spon class="sectiontitle">Rule Bookings</span></a> -
<span class="sectionpurpose">Bookings are assignments of rules to rulebooks.</span></p>
</li>
<li>
<p class="sectionentry"><a href="6-bl.html">
<spon class="sectiontitle">Booking Lists</span></a> -
<span class="sectionpurpose">Booking lists are linked lists of rule bookings. The content of a rulebook is a booking list.</span></p>
</li>
<li>
<p class="sectionentry"><a href="6-rlb.html">
<spon class="sectiontitle">Rulebooks</span></a> -
<span class="sectionpurpose">Rulebooks collate rules and provide an organised way for them to collaborate on a larger task.</span></p>
</li>
<li>
<p class="sectionentry"><a href="6-fao.html">
<spon class="sectiontitle">Focus and Outcome</span></a> -
<span class="sectionpurpose">What a rulebook works on, and what it produces.</span></p>
</li>
<li>
<p class="sectionentry"><a href="6-act.html">
<spon class="sectiontitle">Activities</span></a> -
<span class="sectionpurpose">To create and manage activities, which are bundles of rules for carrying out tasks.</span></p>
</li>
<li>
<p class="sectionentry"><a href="6-sv.html">
<spon class="sectiontitle">Shared Variables</span></a> -
<span class="sectionpurpose">Shared variables are held in common by all rules working in some goal.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="7"></a>
<span class="chaptertitle">Chapter 7: Other Gadgets</span></p>
<p class="chapterpurpose">Tables and equations do not look like sentences, but are also top-level.</p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="7-tc.html">
<spon class="sectiontitle">Table Columns</span></a> -
<span class="sectionpurpose">To manage the named columns which appear in tables.</span></p>
</li>
<li>
<p class="sectionentry"><a href="7-tbl.html">
<spon class="sectiontitle">Tables</span></a> -
<span class="sectionpurpose">To manage and compile tables, which are two-dimensional arrays with associative look-up facilities provided at run-time.</span></p>
</li>
<li>
<p class="sectionentry"><a href="7-eqt.html">
<spon class="sectiontitle">Equations</span></a> -
<span class="sectionpurpose">To manage and compile equations, which relate numerical quantities.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="8"></a>
<span class="chaptertitle">Chapter 8: Predicates</span></p>
<p class="chapterpurpose">Unary and then binary predicates for the calculus module to conjure with.</p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="8-kpr.html">
<spon class="sectiontitle">Kind Predicates Revisited</span></a> -
<span class="sectionpurpose">To define how the kind predicates behave in the Inform language.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-tap.html">
<spon class="sectiontitle">The Adjectival Predicates</span></a> -
<span class="sectionpurpose">To define the predicates connected to linguistic adjectives.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-tcp.html">
<spon class="sectiontitle">The Creation Predicates</span></a> -
<span class="sectionpurpose">To define the predicates causing instances to be created.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-terr.html">
<spon class="sectiontitle">The Equality Relation Revisited</span></a> -
<span class="sectionpurpose">To define how equality behaves in the Inform language.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-qr.html">
<spon class="sectiontitle">Quasinumeric Relations</span></a> -
<span class="sectionpurpose">To define the binary predicates corresponding to numerical comparisons.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-tur.html">
<spon class="sectiontitle">The Universal Relation</span></a> -
<span class="sectionpurpose">To define the universal relation, which can apply and therefore subsumes all other relations.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-er.html">
<spon class="sectiontitle">Explicit Relations</span></a> -
<span class="sectionpurpose">To draw inferences from the relations created explicitly by the source text.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-lr.html">
<spon class="sectiontitle">Listed-In Relations</span></a> -
<span class="sectionpurpose">To define the binary predicates corresponding to table columns, and which determine whether a given value is listed in that column.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-aa.html">
<spon class="sectiontitle">Adjective Ambiguity</span></a> -
<span class="sectionpurpose">Managing the multiple contextual meanings which a single adjective can have.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-am.html">
<spon class="sectiontitle">Adjective Meanings</span></a> -
<span class="sectionpurpose">One individual meaning which an adjective can have.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-amd.html">
<spon class="sectiontitle">Adjective Meaning Domains</span></a> -
<span class="sectionpurpose">What a single sense of an adjective can apply to: perhaps a kind or an instance.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-abp.html">
<spon class="sectiontitle">Adjectives by Phrase</span></a> -
<span class="sectionpurpose">Adjectives defined by an I7 phrase written out longhand.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-abc.html">
<spon class="sectiontitle">Adjectives by Condition</span></a> -
<span class="sectionpurpose">Adjectives defined by a one-line I7 condition.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-abif.html">
<spon class="sectiontitle">Adjectives by Inter Function</span></a> -
<span class="sectionpurpose">Defining an adjective with an Inter function to test or make it true.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-abic.html">
<spon class="sectiontitle">Adjectives by Inter Condition</span></a> -
<span class="sectionpurpose">Defining an adjective with an Inter condition.</span></p>
</li>
<li>
<p class="sectionentry"><a href="8-cu.html">
<spon class="sectiontitle">Calculus Utilities</span></a> -
<span class="sectionpurpose">Utility functions for creating basic propositions using these predicates.</span></p>
</li>
</ul>
</li>
</ul>
</div>
<hr>
<p class="purpose">Powered by <a href="https://github.com/ganelson/inweb">Inweb</a>.</p>
</main>
</body>
</html>