- Home
- Inform7 Modules
- knowledge
Storing and reconciling the facts asserted by assertion sentences. This is version 1.
-
-
What This Module Does - An overview of the knowledge module's role and abilities.
-
-
Chapter 1: Configuration and Control
-
Knowledge Module - Setting up the use of this module. -
Assert Propositions - To declare that a given proposition is a true statement about the state of the world when play begins.
-
-
Properties are named values attached to elements of the world model; not only objects, but also other enumerated constant values, and so on.
-
Properties - Elements of the model world, such as objects, have properties associated with them. Here we look after the identities of these different properties. -
Either-Or Properties - Properties which can either be present or not, but have no value attached. -
Valued Properties - Properties which consist of an attached value, always having a given kind. -
Property Sentences - To examine assertion sentences for property creation. -
Condition Properties - Properties which hold one of an enumerated set of named states of something. -
Indefinite Appearance - To look after the indefinite appearance pseudo-property, used when the source text comments on something with a sentence consisting only of a double-quoted literal text. -
The Provision Relation - To define the provision relation, which determines which properties can be held by which objects. -
Comparative Relations - When a measurement adjective like "tall" is defined, so is a comparative relation like "taller than". -
Measurement Adjectives - To define adjectives such as large, wide or roomy, which make implicit comparisons of the size of some numerical property, and which (unlike other adjectives) lead to comparative and superlative forms. -
Same Property Relation - Each value property has an associated relation to compare its value between two holders. -
Setting Property Relation - Each value property has an associated relation to set its value. -
Properties of Values - Two unrelated but minor support needs for properties of values which are not objects. -
Emit Property Values - To feed the hierarchy of instances and their property values into Inter.
-
-
Chapter 3: Inference and Model
Having now essentially disposed of the original assertion sentences by converting them to propositions, which in turn generated basic inferences about the model world, we must now resolve this mass of facts, applying Occam's Razor to construct the simplest explicit model of the world which fits this knowledge.
-
Inference Subjects - The different data structures for elements of the model world are all unified by a single concept, the inference subject, about which facts can be known. -
Knowledge about Kinds - How kinds can be inference subjects. -
Knowledge about Relations - To store inferences about the state of relationships. -
Property Permissions - To enforce the domain of properties: for instance, that a door can be open or closed but that an animal cannot, or that a person can have a carrying capacity but that a door cannot. -
Inferences - To manage the individual pieces of information gathered, with varying degrees of certainty, from assertion sentences. This is mostly information about which objects have what properties. -
Complete Model World - Once the assertions have all been read and reduced to inferences, and all the creations have been made, we take stock; sometimes we spot inconsistencies, sometimes we make deductions, and we try to complete our picture of the model world. -
Compile Model World - To manage the compilation of the diverse run-time arrays and/or code needed to set up the initial state of the model world. -
Instance Counting - A plugin which maintains run-time-accessible linked lists of instances of kinds, in order to speed up loops; and instance counts within kinds, in order to speed up relation storage; and the object-kind hierarchy, in order to speed up run-time checking of the type safety of property usage.
-
-
Chapter 4: Rules and Rulebooks
Rules are named phrases which are invoked in a particular way, and rulebooks a way to organise lists of them.
-
Rules - Rule structures abstract the Inform 7 concept of a rule, which may be defined either by an Inform 6 routine or by higher-level source text from a phrase structure. -
Rule Bookings - Bookings are assignments of rules to rulebooks. We can think of them as being looseleaf pages, of which we have an unlimited supply: any rule can be written on them, and they can be bound into any rulebook at any specified position. -
Rulebooks - To create, manage, compile and index rulebooks, the content of which is a linked list of booked rules together with some general conventions as to how they are to be used. -
Focus and Outcome - To look after the value or action on which a rulebook acts, and the possible outcomes it produces. -
Stacked Variables - To permit variables to have scopes intermediate between local and global: for example, to be shared by all rules in a given rulebook. -
Activities - To create and manage activities, which are action-like bundles of rules controlling how the I6 runtime code carries out tasks such as "printing the name of something". Each has its own page in the I7 documentation. An activity list is a disjunction of actitivies.
-
Powered by Inweb.