1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-26 04:00:43 +03:00

Completed plumbing-in of IE-0010 on concepts

This commit is contained in:
Graham Nelson 2024-04-07 13:00:23 +01:00
parent 5c4cde9683
commit 5e44d82c21
19 changed files with 305 additions and 248 deletions

View file

@ -1,6 +1,6 @@
# Inform 7
[Version](notes/versioning.md): 10.2.0-beta+6X40 'Krypton' (4 April 2024)
[Version](notes/versioning.md): 10.2.0-beta+6X41 'Krypton' (7 April 2024)
## About Inform

View file

@ -1,3 +1,3 @@
Prerelease: beta
Build Date: 4 April 2024
Build Number: 6X40
Build Date: 7 April 2024
Build Number: 6X41

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "Architecture16Kit",
"version": "10.2.0-beta+6X40"
"version": "10.2.0-beta+6X41"
},
"compatibility": "16-bit",
"kit-details": {

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "Architecture32Kit",
"version": "10.2.0-beta+6X40"
"version": "10.2.0-beta+6X41"
},
"compatibility": "32-bit",
"kit-details": {

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "BasicInformKit",
"version": "10.2.0-beta+6X40"
"version": "10.2.0-beta+6X41"
},
"needs": [ {
"need": {

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "CommandParserKit",
"version": "10.2.0-beta+6X40"
"version": "10.2.0-beta+6X41"
},
"needs": [ {
"need": {

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "EnglishLanguageKit",
"version": "10.2.0-beta+6X40"
"version": "10.2.0-beta+6X41"
},
"needs": [ {
"need": {

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "WorldModelKit",
"version": "10.2.0-beta+6X40"
"version": "10.2.0-beta+6X41"
},
"needs": [ {
"need": {

View file

@ -1,18 +1,18 @@
Temple of Cupid
Emily will be given chocolates and flowers on 14 February.
(BV###-->L### 2**4 resident = {chocolates and flowers} of kind 29)
(BV###-->L### 2**4 resident = {chocolates and flowers} of kind 30)
Kate will be given chocolates and flowers on 14 February.
(BV###-->L### 2**4 resident = {chocolates and flowers} of kind 29)
(BV###-->L### 2**4 resident = {chocolates and flowers} of kind 30)
Helen will be given chocolates and flowers on 14 February.
(BV###-->L### 2**4 resident = {chocolates and flowers} of kind 29)
(BV###-->L### 2**4 resident = {chocolates and flowers} of kind 30)
Emily will be given chocolates, flowers and a sports car on 14 February.
(BV###-->L### 2**6 1 ref = {chocolates, flowers and a sports car} of kind 29)
(BV###-->L### 2**6 1 ref = {chocolates, flowers and a sports car} of kind 30)
Kate will be given chocolates and flowers on 14 February.
(BV###-->L### 2**4 resident = {chocolates and flowers} of kind 29)
(BV###-->L### 2**4 resident = {chocolates and flowers} of kind 30)
Helen will be given chocolates and flowers on 14 February.
(BV###-->L### 2**4 resident = {chocolates and flowers} of kind 29)
(BV###-->L### 2**4 resident = {chocolates and flowers} of kind 30)
"Q" = list of texts: {"chocolates", "flowers", "a sports car"}
(BV###-->L### 2**6 2 refs = {chocolates, flowers and a sports car} of kind 29)
(BV###-->L### 2**6 2 refs = {chocolates, flowers and a sports car} of kind 30)
"X" = text: Emily's apple
(BV### = p"Emily's apple")

View file

@ -16,7 +16,7 @@
You see nothing special about the red tree.
>[3] showtree
(Compass object) (22)
(Compass object) (23)
the north
the northeast
the northwest
@ -29,10 +29,10 @@
the down
the inside
the outside
(thedark object) (23)
(VPH_25) (24)
(VPH_3) (25)
Lab (39)
(thedark object) (24)
(VPH_26) (25)
(VPH_3) (26)
Lab (40)
yourself
a red tree
a red envelope

View file

@ -76,7 +76,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
object [15]&nbsp;<a href=#A24><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
object [15]&nbsp;<a href=#A25><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
north&nbsp;
@ -109,6 +109,23 @@
</td>
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">concept</span>&nbsp;<a href=#K111_concept><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey">nothing</span>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>
</td>
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
room [1]&nbsp;<a href=inform:/doc25.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#K1_room><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
@ -125,7 +142,7 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
thing [2]&nbsp;<a href=#K2_thing><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
@ -142,7 +159,7 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
door [1]&nbsp;<a href=inform:/doc35.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#K4_door><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
@ -159,9 +176,9 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
mystic portal [1]&nbsp;<a href="source:story.ni#line6"><img border=0 src=inform:/doc_images/Reveal.png></a>&nbsp;<a href=#K117_mystic_portal><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
mystic portal [1]&nbsp;<a href="source:story.ni#line6"><img border=0 src=inform:/doc_images/Reveal.png></a>&nbsp;<a href=#K118_mystic_portal><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
Great Gates of Kiev&nbsp;
@ -176,7 +193,7 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">container</span>&nbsp;<a href=#K5_container><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
@ -193,9 +210,26 @@
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>
</td>
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">vehicle</span>&nbsp;<a href=inform:/doc39.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#K116_vehicle><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey">nothing</span>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>
</td>
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">vehicle</span>&nbsp;<a href=inform:/doc39.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#K115_vehicle><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">player's holdall</span>&nbsp;<a href=inform:/doc44.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#K117_player_s_holdall><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey">nothing</span>&nbsp;
@ -211,23 +245,6 @@
</td>
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">player's holdall</span>&nbsp;<a href=inform:/doc44.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#K116_player_s_holdall><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey">nothing</span>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>
</td>
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">supporter</span>&nbsp;<a href=#K6_supporter><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
@ -244,7 +261,7 @@
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">backdrop</span>&nbsp;<a href=inform:/doc32.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#K7_backdrop><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
@ -261,7 +278,7 @@
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
person [1]&nbsp;<a href=inform:/doc40.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#K8_person><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
@ -278,9 +295,26 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">man</span>&nbsp;<a href=#K112_man><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey">nothing</span>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>
</td>
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">man</span>&nbsp;<a href=#K111_man><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">woman</span>&nbsp;<a href=#K113_woman><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey">nothing</span>&nbsp;
@ -297,7 +331,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">woman</span>&nbsp;<a href=#K112_woman><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">animal</span>&nbsp;<a href=#K114_animal><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey">nothing</span>&nbsp;
@ -314,7 +348,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">animal</span>&nbsp;<a href=#K113_animal><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">device</span>&nbsp;<a href=inform:/doc37.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#K115_device><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey">nothing</span>&nbsp;
@ -330,23 +364,6 @@
</td>
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">device</span>&nbsp;<a href=inform:/doc37.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#K114_device><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey">nothing</span>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>
</td>
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
direction [12]&nbsp;<a href=inform:/doc49.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#K3_direction><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
@ -363,7 +380,7 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">region</span>&nbsp;<a href=inform:/doc27.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#K9_region><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
@ -385,9 +402,26 @@
</td>
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
number&nbsp;<a href="Kinds.html?segment2"><img border=0 src=inform:/doc_images/calc1.png></a>&nbsp;<a href=inform:/doc225.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A27><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
0&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="cross" src=inform:/doc_images/cross.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="cross" src=inform:/doc_images/cross.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
number&nbsp;<a href="Kinds.html?segment2"><img border=0 src=inform:/doc_images/calc1.png></a>&nbsp;<a href=inform:/doc225.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A26><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
real number&nbsp;<a href="Kinds.html?segment2"><img border=0 src=inform:/doc_images/calc1.png></a>&nbsp;<a href=inform:/doc225.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A28><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
0&nbsp;
@ -404,24 +438,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
real number&nbsp;<a href="Kinds.html?segment2"><img border=0 src=inform:/doc_images/calc1.png></a>&nbsp;<a href=inform:/doc225.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A27><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
0&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="cross" src=inform:/doc_images/cross.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="cross" src=inform:/doc_images/cross.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
time&nbsp;<a href="Kinds.html?segment2"><img border=0 src=inform:/doc_images/calc1.png></a>&nbsp;<a href=inform:/doc138.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A43><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
time&nbsp;<a href="Kinds.html?segment2"><img border=0 src=inform:/doc_images/calc1.png></a>&nbsp;<a href=inform:/doc138.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A44><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
9:00 AM&nbsp;
@ -436,9 +453,9 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
truth state&nbsp;<a href=inform:/doc161.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A28><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
truth state&nbsp;<a href=inform:/doc161.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A29><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
false&nbsp;
@ -453,9 +470,9 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
text&nbsp;<a href=#A29><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
text&nbsp;<a href=#A30><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
""&nbsp;
@ -470,9 +487,9 @@
<img border=0 alt="cross" src=inform:/doc_images/cross.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
snippet&nbsp;<a href=inform:/doc317.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A30><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
snippet&nbsp;<a href=inform:/doc317.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A31><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<i>word 1 of command</i>&nbsp;
@ -487,9 +504,9 @@
<img border=0 alt="cross" src=inform:/doc_images/cross.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
unicode character&nbsp;<a href=#A31><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
unicode character&nbsp;<a href=#A32><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
unicode 32 (<i>a space</i>)&nbsp;
@ -504,9 +521,9 @@
<img border=0 alt="cross" src=inform:/doc_images/cross.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
action&nbsp;<a href=inform:/doc194.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A41><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
action&nbsp;<a href=inform:/doc194.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A42><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
waiting&nbsp;
@ -521,9 +538,9 @@
<img border=0 alt="cross" src=inform:/doc_images/cross.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
scene&nbsp;<a href=inform:/doc148.html><img border=0 src=inform:/doc_images/help.png></a> [1]&nbsp;<a href=#A25><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
scene&nbsp;<a href=inform:/doc148.html><img border=0 src=inform:/doc_images/help.png></a> [1]&nbsp;<a href=#A26><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
Entire Game&nbsp;
@ -538,9 +555,9 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
command parser error [25]&nbsp;<a href=#A17><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
command parser error [25]&nbsp;<a href=#A18><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
didn't understand error&nbsp;
@ -555,9 +572,9 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
dynasty&nbsp;<a href="source:story.ni#line3"><img border=0 src=inform:/doc_images/Reveal.png></a> [4]&nbsp;<a href=#A22><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
dynasty&nbsp;<a href="source:story.ni#line3"><img border=0 src=inform:/doc_images/Reveal.png></a> [4]&nbsp;<a href=#A23><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
Stuart&nbsp;
@ -572,9 +589,9 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
use option&nbsp;<a href=#A32><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
use option&nbsp;<a href=#A33><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
the ineffectual option&nbsp;
@ -589,9 +606,9 @@
<img border=0 alt="cross" src=inform:/doc_images/cross.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
response&nbsp;<a href=#A33><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
response&nbsp;<a href=#A34><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
?&nbsp;
@ -606,9 +623,9 @@
<img border=0 alt="cross" src=inform:/doc_images/cross.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
verb&nbsp;<a href=inform:/doc220.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A34><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
verb&nbsp;<a href=inform:/doc220.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A35><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
verb be&nbsp;
@ -623,9 +640,9 @@
<img border=0 alt="cross" src=inform:/doc_images/cross.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
table name&nbsp;<a href=inform:/doc258.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A35><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
table name&nbsp;<a href=inform:/doc258.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A36><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<i>a table with no rows or columns</i>&nbsp;
@ -640,9 +657,9 @@
<img border=0 alt="cross" src=inform:/doc_images/cross.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">equation name&nbsp;<a href=#A36><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">equation name&nbsp;<a href=#A37><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey"><i>an equation doing nothing</i></span>&nbsp;
@ -657,9 +674,9 @@
<img border=0 alt="cross" src=inform:/doc_images/greycross.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
rulebook outcome&nbsp;<a href=#A37><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
rulebook outcome&nbsp;<a href=#A38><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
allow access&nbsp;
@ -674,9 +691,26 @@
<img border=0 alt="cross" src=inform:/doc_images/cross.png>
</td>
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">external file&nbsp;<a href=inform:/doc382.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A39><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey"><i>a non-file</i></span>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>
</td>
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">external file&nbsp;<a href=inform:/doc382.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A38><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">internal file&nbsp;<a href=#A40><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey"><i>a non-file</i></span>&nbsp;
@ -693,24 +727,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">internal file&nbsp;<a href=#A39><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey"><i>a non-file</i></span>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>&nbsp;
</td>
<td align="center" valign="top">
<img border=0 alt="tick" src=inform:/doc_images/greytick.png>
</td>
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
action name&nbsp;<a href=inform:/doc96.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A42><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
action name&nbsp;<a href=inform:/doc96.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A43><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
waiting action&nbsp;
@ -725,9 +742,9 @@
<img border=0 alt="cross" src=inform:/doc_images/cross.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
figure name&nbsp;<a href=inform:/doc374.html><img border=0 src=inform:/doc_images/help.png></a> [1]&nbsp;<a href=#A44><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
figure name&nbsp;<a href=inform:/doc374.html><img border=0 src=inform:/doc_images/help.png></a> [1]&nbsp;<a href=#A45><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
Figure of cover&nbsp;
@ -742,9 +759,9 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">sound name&nbsp;<a href=inform:/doc377.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A45><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">sound name&nbsp;<a href=inform:/doc377.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A46><img border=0 src=inform:/doc_images/Below.png></a></span>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<span class="indexgrey"><i>a silent non-sound</i></span>&nbsp;
@ -764,7 +781,7 @@
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
natural language [1]&nbsp;<a href=#A1><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
@ -781,9 +798,9 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
grammatical tense&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [5]&nbsp;<a href=#A18><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
grammatical tense&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [5]&nbsp;<a href=#A19><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
present tense&nbsp;
@ -798,9 +815,9 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
narrative viewpoint&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [6]&nbsp;<a href=#A19><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
narrative viewpoint&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [6]&nbsp;<a href=#A20><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
first person singular&nbsp;
@ -815,9 +832,9 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
grammatical case&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [2]&nbsp;<a href=#A20><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
grammatical case&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [2]&nbsp;<a href=#A21><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
nominative&nbsp;
@ -832,9 +849,9 @@
<img border=0 alt="tick" src=inform:/doc_images/tick.png>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
grammatical gender&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [3]&nbsp;<a href=#A21><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
grammatical gender&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [3]&nbsp;<a href=#A22><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
neuter gender&nbsp;
@ -876,73 +893,73 @@
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
list of K&nbsp;<a href=inform:/doc350.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A47><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
list of K&nbsp;<a href=inform:/doc350.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A48><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
{ }
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
phrase K -> L&nbsp;<a href=#A56><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
phrase K -> L&nbsp;<a href=#A57><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
<i>always the default value of L</i>
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey"></span>relation<span class="indexgrey"> of K</span>&nbsp;<a href=#A58><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey"></span>relation<span class="indexgrey"> of K</span>&nbsp;<a href=#A59><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
<i>a relation never holding</i>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">K based</span> rule<span class="indexgrey"> producing L</span>&nbsp;<a href=inform:/doc325.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A59><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">K based</span> rule<span class="indexgrey"> producing L</span>&nbsp;<a href=inform:/doc325.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A60><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
the little-used do nothing rule
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">K based</span> rulebook<span class="indexgrey"> producing L</span>&nbsp;<a href=inform:/doc325.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A60><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">K based</span> rulebook<span class="indexgrey"> producing L</span>&nbsp;<a href=inform:/doc325.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A61><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
the action-processing rules
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey"></span>activity<span class="indexgrey"> on K</span>&nbsp;<a href=inform:/doc285.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A61><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey"></span>activity<span class="indexgrey"> on K</span>&nbsp;<a href=inform:/doc285.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A62><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
printing the name
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
description of K&nbsp;<a href=inform:/doc362.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A62><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
description of K&nbsp;<a href=inform:/doc362.html><img border=0 src=inform:/doc_images/help.png></a>&nbsp;<a href=#A63><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
<i>matching nothing</i>
</td>
</tr>
<tr class="stripeone">
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">K valued</span> property<span class="indexgrey"></span>&nbsp;<a href=#A63><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">K valued</span> property<span class="indexgrey"></span>&nbsp;<a href=#A64><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
--
</td>
</tr>
<tr class="stripetwo">
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
<span class="indexgrey">K valued</span> table<span class="indexgrey"></span> column<span class="indexgrey"></span>&nbsp;<a href=#A64><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
<span class="indexgrey">K valued</span> table<span class="indexgrey"></span> column<span class="indexgrey"></span>&nbsp;<a href=#A65><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top" colspan="4">
--
@ -954,7 +971,7 @@
</td>
</tr>
</table>
<p class="halftightin1"><a name=A24></a><b>object</b> (<i>plural</i> objects)</p>
<p class="halftightin1"><a name=A25></a><b>object</b> (<i>plural</i> objects)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
Objects are values intended to simulate physical things: places, people, things, and so on. They come in many kinds. The special value 'nothing' is also allowed, and can be used to mean 'no object at all'.<br>
<i>Usually</i> singular-named <i>not</i> plural-named, improper-named <i>not</i> proper-named.<br>
@ -966,6 +983,9 @@ Objects are values intended to simulate physical things: places, people, things,
conceptual, like ideas, or are needed for internal book-keeping.<br>
</p>
<p class="tightin2"></p>
<p class="halftightin3"><a name=K111_concept></a><b>concept</b> (<i>plural</i> concepts)</p>
<p class="tightin3"></p>
<p class="tightin3"></p>
<p class="halftightin2"><a name=K1_room></a><b>room</b> (<i>plural</i> rooms)&nbsp;<a href=inform:/doc25.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin2">Represents geographical locations, both indoor
and outdoor, which are not necessarily areas in a building. A player in one
@ -999,7 +1019,7 @@ the long slide. Through the long slide is the cellar.').<br>
<i>Can have</i> leading-through destination (<i>object</i>).<br>
</p>
<p class="tightin3"></p>
<p class="halftightin4"><a name=K117_mystic_portal></a><b>mystic portal</b> (<i>plural</i> mystic portals)&nbsp;<a href="source:story.ni#line6"><img border=0 src=inform:/doc_images/Reveal.png></a></p>
<p class="halftightin4"><a name=K118_mystic_portal></a><b>mystic portal</b> (<i>plural</i> mystic portals)&nbsp;<a href="source:story.ni#line6"><img border=0 src=inform:/doc_images/Reveal.png></a></p>
<p class="tightin4"></p>
<p class="tightin4"><span class="indexgrey">Great Gates of Kiev</span>&nbsp;<a href="source:story.ni#line6"><img border=0 src=inform:/doc_images/Reveal.png></a></p>
<p class="halftightin3"><a name=K5_container></a><b>container</b> (<i>plural</i> containers)</p>
@ -1012,7 +1032,7 @@ instead.<br>
<i>Can have</i> carrying capacity (<i>number</i>).<br>
</p>
<p class="tightin3"></p>
<p class="halftightin4"><a name=K115_vehicle></a><b>vehicle</b> (<i>plural</i> vehicles)&nbsp;<a href=inform:/doc39.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin4"><a name=K116_vehicle></a><b>vehicle</b> (<i>plural</i> vehicles)&nbsp;<a href=inform:/doc39.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin4">Represents a container large enough for
a person to enter, and which can then move between rooms at the driver's
instruction. (If a supporter is needed instead, try the extension
@ -1021,7 +1041,7 @@ Rideable Vehicles by Graham Nelson.)<br>
<i>Usually</i> fixed in place <i>not</i> portable.<br>
</p>
<p class="tightin4"></p>
<p class="halftightin4"><a name=K116_player_s_holdall></a><b>player's holdall</b> (<i>plural</i> player's holdalls)&nbsp;<a href=inform:/doc44.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin4"><a name=K117_player_s_holdall></a><b>player's holdall</b> (<i>plural</i> player's holdalls)&nbsp;<a href=inform:/doc44.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin4">Represents a container which the
player can carry around as a sort of rucksack, into which spare items are
automatically stowed away.<br>
@ -1057,25 +1077,25 @@ bartering with.<br>
<i>Can have</i> carrying capacity (<i>number</i>).<br>
</p>
<p class="tightin3"><span class="indexgrey">yourself</span></p>
<p class="halftightin4"><a name=K111_man></a><b>man</b> (<i>plural</i> men)</p>
<p class="halftightin4"><a name=K112_man></a><b>man</b> (<i>plural</i> men)</p>
<p class="tightin4">Represents a man or boy.<br>
<i>Always</i> male <i>not</i> female.<br>
<i>Never</i> neuter.<br>
</p>
<p class="tightin4"></p>
<p class="halftightin4"><a name=K112_woman></a><b>woman</b> (<i>plural</i> women)</p>
<p class="halftightin4"><a name=K113_woman></a><b>woman</b> (<i>plural</i> women)</p>
<p class="tightin4">Represents a woman or girl.<br>
<i>Always</i> female <i>not</i> male.<br>
<i>Never</i> neuter.<br>
</p>
<p class="tightin4"></p>
<p class="halftightin4"><a name=K113_animal></a><b>animal</b> (<i>plural</i> animals)</p>
<p class="halftightin4"><a name=K114_animal></a><b>animal</b> (<i>plural</i> animals)</p>
<p class="tightin4">Represents an animal, or at any rate a
non-human living creature reasonably large and possible to interact with: a
giant Venus fly-trap might qualify, but not a patch of lichen.<br>
</p>
<p class="tightin4"></p>
<p class="halftightin3"><a name=K114_device></a><b>device</b> (<i>plural</i> devices)&nbsp;<a href=inform:/doc37.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin3"><a name=K115_device></a><b>device</b> (<i>plural</i> devices)&nbsp;<a href=inform:/doc37.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin3">Represents a machine or contrivance of some
kind which can be switched on or off.<br>
<i>Usually</i> switched off <i>not</i> switched on.<br>
@ -1111,46 +1131,46 @@ and are optional.<br>
</p>
<p class="tightin2"></p>
<hr>
<p class="halftightin1"><a name=A26></a><b>number</b> (<i>plural</i> numbers)&nbsp;<a href=inform:/doc225.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A27></a><b>number</b> (<i>plural</i> numbers)&nbsp;<a href=inform:/doc225.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, arithmetic value<br>
Whole number in the range -32768, -32767, ..., -2, -1, 0, 1, 2, 3, ..., 32767: small numbers can be written textually as 'one', 'two', 'three', ..., 'ten', 'eleven', 'twelve'. (A much larger number range is allowed if we compile the source to Glulx rather than the Z-machine: see the Settings panel.)<br>
</p>
<p class="halftightin1"><a name=A27></a><b>real number</b> (<i>plural</i> real numbers)&nbsp;<a href=inform:/doc225.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A28></a><b>real number</b> (<i>plural</i> real numbers)&nbsp;<a href=inform:/doc225.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, arithmetic value, real arithmetic value<br>
A real, or 'floating-point' number: the difference between this and ordinary "number" is that real numbers can hold values like 3.141, which aren't whole numbers, and can also hold very large or very small quantities in an approximate way. (Use of real numbers is only allowed if we compile the source to Glulx rather than the Z-machine: see the Settings panel.)<br>
</p>
<p class="halftightin1"><a name=A43></a><b>time</b> (<i>plural</i> times)&nbsp;<a href=inform:/doc138.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A44></a><b>time</b> (<i>plural</i> times)&nbsp;<a href=inform:/doc138.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, arithmetic value<br>
A time of day, written in the form '2:34 AM' or '12:51 PM', or a length of time such as '10 minutes' or '3 hours 31 minutes', which must be between 0 minutes and 23 hours 59 minutes inclusive.<br>
</p>
<p class="halftightin1"><a name=A28></a><b>truth state</b> (<i>plural</i> truth states)&nbsp;<a href=inform:/doc161.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A29></a><b>truth state</b> (<i>plural</i> truth states)&nbsp;<a href=inform:/doc161.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value<br>
The state of whether something is 'true' or 'false'. (In other computing languages, this might be called 'boolean', after the 19th-century logician George Boole, who first realised this was a kind of value.)<br>
</p>
<p class="halftightin1"><a name=A29></a><b>text</b> (<i>plural</i> texts)</p>
<p class="halftightin1"><a name=A30></a><b>text</b> (<i>plural</i> texts)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
Some text in double quotation marks, perhaps with substitutions written in square brackets.<br>
</p>
<p class="halftightin1"><a name=A30></a><b>snippet</b> (<i>plural</i> snippets)&nbsp;<a href=inform:/doc317.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A31></a><b>snippet</b> (<i>plural</i> snippets)&nbsp;<a href=inform:/doc317.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
A fragment of the player's most recent typed command, taking in a run of consecutive words.<br>
</p>
<p class="halftightin1"><a name=A31></a><b>unicode character</b> (<i>plural</i> unicode characters)</p>
<p class="halftightin1"><a name=A32></a><b>unicode character</b> (<i>plural</i> unicode characters)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
A single character - a letter or item of punctuation.<br>
</p>
<p class="halftightin1"><a name=A41></a><b>action</b> (<i>plural</i> actions)&nbsp;<a href=inform:/doc194.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A42></a><b>action</b> (<i>plural</i> actions)&nbsp;<a href=inform:/doc194.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
A stored action, which can later be tried.<br>
</p>
<p class="halftightin1"><a name=A25></a><b>scene</b> (<i>plural</i> scenes)&nbsp;<a href=inform:/doc148.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A26></a><b>scene</b> (<i>plural</i> scenes)&nbsp;<a href=inform:/doc148.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
Like a scene in a play: a period of time which is usually tied to events in the plot. Scenes are created by sentences like 'Midnight Arrival is a scene.'<br>
<i>Usually</i> non-recurring <i>not</i> recurring.<br>
<i>Can have</i> description (<i>text</i>).<br>
<p class="tightin1"><span class="indexgrey">Entire Game</span></p>
</p>
<p class="halftightin1"><a name=A17></a><b>command parser error</b> (<i>plural</i> command parser errors)</p>
<p class="halftightin1"><a name=A18></a><b>command parser error</b> (<i>plural</i> command parser errors)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
<p class="tightin1"><a href="#" onclick="showExtra('extra1', 'plus1'); return false;"><img border=0 id="plus1" src=inform:/doc_images/extra.png></a>&nbsp;<span class="indexgrey">25 command parser errors</span></p>
<div id="extra1" style="display: none;">
@ -1164,51 +1184,51 @@ Like a scene in a play: a period of time which is usually tied to events in the
</p>
</div>
</p>
<p class="halftightin1"><a name=A22></a><b>dynasty&nbsp;<a href="source:story.ni#line3"><img border=0 src=inform:/doc_images/Reveal.png></a></b> (<i>plural</i> dynasties)</p>
<p class="halftightin1"><a name=A23></a><b>dynasty&nbsp;<a href="source:story.ni#line3"><img border=0 src=inform:/doc_images/Reveal.png></a></b> (<i>plural</i> dynasties)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
<p class="tightin1"><span class="indexgrey">Stuart</span>&nbsp;<a href="source:story.ni#line3"><img border=0 src=inform:/doc_images/Reveal.png></a>, <span class="indexgrey">Hanover</span>&nbsp;<a href="source:story.ni#line3"><img border=0 src=inform:/doc_images/Reveal.png></a>, <span class="indexgrey">Saxe-Coburg-Gotha</span>&nbsp;<a href="source:story.ni#line3"><img border=0 src=inform:/doc_images/Reveal.png></a>, <span class="indexgrey">Windsor</span>&nbsp;<a href="source:story.ni#line3"><img border=0 src=inform:/doc_images/Reveal.png></a></p>
</p>
<p class="halftightin1"><a name=A32></a><b>use option</b> (<i>plural</i> use options)</p>
<p class="halftightin1"><a name=A33></a><b>use option</b> (<i>plural</i> use options)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
One of the optional ways to configure Inform, such as the 'authorial modesty option'.<br>
</p>
<p class="halftightin1"><a name=A33></a><b>response</b> (<i>plural</i> responses)</p>
<p class="halftightin1"><a name=A34></a><b>response</b> (<i>plural</i> responses)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
One of the standard responses issued by the Standard Rules or other extensions.<br>
</p>
<p class="halftightin1"><a name=A34></a><b>verb</b> (<i>plural</i> verbs)&nbsp;<a href=inform:/doc220.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A35></a><b>verb</b> (<i>plural</i> verbs)&nbsp;<a href=inform:/doc220.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
One of the verbs which Inform knows how to conjugate.<br>
</p>
<p class="halftightin1"><a name=A35></a><b>table name</b> (<i>plural</i> table names)&nbsp;<a href=inform:/doc258.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A36></a><b>table name</b> (<i>plural</i> table names)&nbsp;<a href=inform:/doc258.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
Like tables of information in a book or newspaper, tables in Inform hold values which have been organised into rows and columns. A table name is just a single value, identifying which table is meant - say, 'Table of US Presidents' might be a table name value.<br>
</p>
<p class="halftightin1"><a name=A36></a><b>equation name</b> (<i>plural</i> equation names)</p>
<p class="halftightin1"><a name=A37></a><b>equation name</b> (<i>plural</i> equation names)</p>
<p class="tightin1"><i>Matches:</i> value<br>
Like formulae in a textbook or a scientific paper, equations in Inform are written out in displayed form and given names.<br>
</p>
<p class="halftightin1"><a name=A37></a><b>rulebook outcome</b> (<i>plural</i> rulebook outcomes)</p>
<p class="halftightin1"><a name=A38></a><b>rulebook outcome</b> (<i>plural</i> rulebook outcomes)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
</p>
<p class="halftightin1"><a name=A38></a><b>external file</b> (<i>plural</i> external files)&nbsp;<a href=inform:/doc382.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A39></a><b>external file</b> (<i>plural</i> external files)&nbsp;<a href=inform:/doc382.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
When made with the Glulx setting, an Inform project can make limited use of files stored on the computer which is operating the story at run-time. An external-file is just the name of one of these files (not the filename in the usual sense, but a name given to it in the Inform source text).<br>
</p>
<p class="halftightin1"><a name=A39></a><b>internal file</b> (<i>plural</i> internal files)</p>
<p class="halftightin1"><a name=A40></a><b>internal file</b> (<i>plural</i> internal files)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
When made with the Glulx setting, an Inform project can make limited use of files held internally within the 'blorb' which makes up the story.<br>
</p>
<p class="halftightin1"><a name=A42></a><b>action name</b> (<i>plural</i> action names)&nbsp;<a href=inform:/doc96.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A43></a><b>action name</b> (<i>plural</i> action names)&nbsp;<a href=inform:/doc96.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
An action is what happens when one of the people in the simulated world decides to do something. A full action would be something like 'dropping the box', but an action name is just the choice of which sort of thing is being done: here, it's 'the dropping action'. (Action names are always written with the word 'action' at the end, to make sure they aren't mistaken for full actions.)<br>
</p>
<p class="halftightin1"><a name=A44></a><b>figure name</b> (<i>plural</i> figure names)&nbsp;<a href=inform:/doc374.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A45></a><b>figure name</b> (<i>plural</i> figure names)&nbsp;<a href=inform:/doc374.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
When made with the Glulx setting, an Inform project can include images as well as words, and these are called figures. A figure name is just the name of one of the figures in the current project.<br>
<p class="tightin1"><span class="indexgrey">Figure of cover</span></p>
</p>
<p class="halftightin1"><a name=A45></a><b>sound name</b> (<i>plural</i> sound names)&nbsp;<a href=inform:/doc377.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A46></a><b>sound name</b> (<i>plural</i> sound names)&nbsp;<a href=inform:/doc377.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
When made with the Glulx setting, an Inform project can include sound effects or pieces of music. A sound name is just the name of one of these sounds in the current project.<br>
</p>
@ -1217,61 +1237,61 @@ When made with the Glulx setting, an Inform project can include sound effects or
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
<p class="tightin1"><span class="indexgrey">English language</span></p>
</p>
<p class="halftightin1"><a name=A18></a><b>grammatical tense&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> grammatical tenses)</p>
<p class="halftightin1"><a name=A19></a><b>grammatical tense&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> grammatical tenses)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
<p class="tightin1"><span class="indexgrey">present tense</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">past tense</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">perfect tense</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">past perfect tense</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">future tense</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></p>
</p>
<p class="halftightin1"><a name=A19></a><b>narrative viewpoint&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> narrative viewpoints)</p>
<p class="halftightin1"><a name=A20></a><b>narrative viewpoint&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> narrative viewpoints)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
<p class="tightin1"><span class="indexgrey">first person singular</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">second person singular</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">third person singular</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">first person plural</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">second person plural</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">third person plural</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></p>
</p>
<p class="halftightin1"><a name=A20></a><b>grammatical case&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> grammatical cases)</p>
<p class="halftightin1"><a name=A21></a><b>grammatical case&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> grammatical cases)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
<p class="tightin1"><span class="indexgrey">nominative</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">accusative</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></p>
</p>
<p class="halftightin1"><a name=A21></a><b>grammatical gender&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> grammatical genders)</p>
<p class="halftightin1"><a name=A22></a><b>grammatical gender&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> grammatical genders)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
<p class="tightin1"><span class="indexgrey">neuter gender</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">masculine gender</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">feminine gender</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></p>
</p>
<hr>
<p class="halftightin1"><a name=A47></a><b>list of K</b> (<i>plural</i> lists of K)&nbsp;<a href=inform:/doc350.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A48></a><b>list of K</b> (<i>plural</i> lists of K)&nbsp;<a href=inform:/doc350.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>covariant&nbsp;<a href=#contra><img border=0 src=inform:/doc_images/shelp.png></a></i></p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
A flexible-length list of values, where all of the items have to have the same kind of value as each other - for instance, a list of rooms, or a list of lists of numbers. The empty list, with no items yet, is written { }, and a list with items in is written with commas dividing them - say {2, 5, 9}.<br>
</p>
<p class="halftightin1"><a name=A56></a><b>phrase K -> L</b> (<i>plural</i> phrases K -> L)</p>
<p class="halftightin1"><a name=A57></a><b>phrase K -> L</b> (<i>plural</i> phrases K -> L)</p>
<p class="tightin1"><i>contravariant in K, covariant in L&nbsp;<a href=#contra><img border=0 src=inform:/doc_images/shelp.png></a></i></p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
</p>
<p class="halftightin1"><a name=A58></a><b><span class="indexgrey"></span>relation<span class="indexgrey"> of K</span></b> (<i>plural</i> <span class="indexgrey"></span>relations<span class="indexgrey"> of K</span>)</p>
<p class="halftightin1"><a name=A59></a><b><span class="indexgrey"></span>relation<span class="indexgrey"> of K</span></b> (<i>plural</i> <span class="indexgrey"></span>relations<span class="indexgrey"> of K</span>)</p>
<p class="tightin1"><i>covariant&nbsp;<a href=#contra><img border=0 src=inform:/doc_images/shelp.png></a></i></p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
</p>
<p class="halftightin1"><a name=A59></a><b><span class="indexgrey">K based</span> rule<span class="indexgrey"> producing L</span></b> (<i>plural</i> <span class="indexgrey">K based</span> rules<span class="indexgrey"> producing L</span>)&nbsp;<a href=inform:/doc325.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A60></a><b><span class="indexgrey">K based</span> rule<span class="indexgrey"> producing L</span></b> (<i>plural</i> <span class="indexgrey">K based</span> rules<span class="indexgrey"> producing L</span>)&nbsp;<a href=inform:/doc325.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>contravariant in K, covariant in L&nbsp;<a href=#contra><img border=0 src=inform:/doc_images/shelp.png></a></i></p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
One of many, many rules which determine what happens during play. Rules can be triggered by scenes beginning or ending, by certain actions, at certain times, or in the course of carrying out certain activities.<br>
</p>
<p class="halftightin1"><a name=A60></a><b><span class="indexgrey">K based</span> rulebook<span class="indexgrey"> producing L</span></b> (<i>plural</i> <span class="indexgrey">K based</span> rulebooks<span class="indexgrey"> producing L</span>)&nbsp;<a href=inform:/doc325.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A61></a><b><span class="indexgrey">K based</span> rulebook<span class="indexgrey"> producing L</span></b> (<i>plural</i> <span class="indexgrey">K based</span> rulebooks<span class="indexgrey"> producing L</span>)&nbsp;<a href=inform:/doc325.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>contravariant in K, covariant in L&nbsp;<a href=#contra><img border=0 src=inform:/doc_images/shelp.png></a></i></p>
<p class="tightin1"><i>Matches:</i> value, sayable value<br>
A list of rules to follow, in sequence, to get something done. A rulebook is like a ring-binder, with the individual rules as sheets of paper. Inform normally sorts these into their 'natural' order, with the most specific rules first, but it's easy to shuffle the pages if you need to. When some task is carried out during play, Inform is normally working through a rulebook, turning the pages one by one.<br>
</p>
<p class="halftightin1"><a name=A61></a><b><span class="indexgrey"></span>activity<span class="indexgrey"> on K</span></b> (<i>plural</i> <span class="indexgrey"></span>activities<span class="indexgrey"> on K</span>)&nbsp;<a href=inform:/doc285.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A62></a><b><span class="indexgrey"></span>activity<span class="indexgrey"> on K</span></b> (<i>plural</i> <span class="indexgrey"></span>activities<span class="indexgrey"> on K</span>)&nbsp;<a href=inform:/doc285.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>contravariant&nbsp;<a href=#contra><img border=0 src=inform:/doc_images/shelp.png></a></i></p>
<p class="tightin1"><i>Matches:</i> value<br>
An activity is something which Inform does as part of the mechanics of play - for instance, printing the name of an object, which Inform often has to do. An activity can happen by itself ('printing the banner text', for instance) or can be applied to an object ('printing the name of something', say).<br>
</p>
<p class="halftightin1"><a name=A62></a><b>description of K</b> (<i>plural</i> descriptions of K)&nbsp;<a href=inform:/doc362.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="halftightin1"><a name=A63></a><b>description of K</b> (<i>plural</i> descriptions of K)&nbsp;<a href=inform:/doc362.html><img border=0 src=inform:/doc_images/help.png></a></p>
<p class="tightin1"><i>covariant&nbsp;<a href=#contra><img border=0 src=inform:/doc_images/shelp.png></a></i></p>
<p class="tightin1"><i>Matches:</i> value<br>
A description of a set of values, where all of the items have to have the same kind of value as each other - for instance, 'even numbers' or 'open doors which are in lighted rooms'.<br>
</p>
<p class="halftightin1"><a name=A63></a><b><span class="indexgrey">K valued</span> property<span class="indexgrey"></span></b> (<i>plural</i> <span class="indexgrey">K valued</span> properties<span class="indexgrey"></span>)</p>
<p class="halftightin1"><a name=A64></a><b><span class="indexgrey">K valued</span> property<span class="indexgrey"></span></b> (<i>plural</i> <span class="indexgrey">K valued</span> properties<span class="indexgrey"></span>)</p>
<p class="tightin1"><i>covariant&nbsp;<a href=#contra><img border=0 src=inform:/doc_images/shelp.png></a></i></p>
<p class="tightin1"><i>Matches:</i> value<br>
</p>
<p class="halftightin1"><a name=A64></a><b><span class="indexgrey">K valued</span> table<span class="indexgrey"></span> column<span class="indexgrey"></span></b> (<i>plural</i> <span class="indexgrey">K valued</span> table<span class="indexgrey"></span> columns<span class="indexgrey"></span>)</p>
<p class="halftightin1"><a name=A65></a><b><span class="indexgrey">K valued</span> table<span class="indexgrey"></span> column<span class="indexgrey"></span></b> (<i>plural</i> <span class="indexgrey">K valued</span> table<span class="indexgrey"></span> columns<span class="indexgrey"></span>)</p>
<p class="tightin1"><i>covariant&nbsp;<a href=#contra><img border=0 src=inform:/doc_images/shelp.png></a></i></p>
<p class="tightin1"><i>Matches:</i> value<br>
</p>

View file

@ -31,7 +31,7 @@ description of values <= value, stored value
property <= value, stored value
table column <= value, stored value
combination value and value <= value, stored value, sayable value, pointer value
nothing <= value, stored value, sayable value, understandable value, arithmetic value, real arithmetic value, enumerated value, pointer value, object, number, real number, truth state, text, snippet, unicode character, use option, response, verb, table name, equation name, rulebook outcome, phrase value -> value, values variable-pointer, relation of values, values based rule producing values, values based rulebook producing values, activity on values, list of nothing, description of values, property, table column, combination value and value, , nothing, value, value, external file, internal file, described action, action, action name, time, scene, figure name, sound name, topic, abstract object, natural language, grammatical tense, narrative viewpoint, grammatical case, grammatical gender, room, thing, direction, door, container, supporter, backdrop, person, region, man, woman, animal, device, vehicle, player's holdall, command parser error
nothing <= value, stored value, sayable value, understandable value, arithmetic value, real arithmetic value, enumerated value, pointer value, object, number, real number, truth state, text, snippet, unicode character, use option, response, verb, table name, equation name, rulebook outcome, phrase value -> value, values variable-pointer, relation of values, values based rule producing values, values based rulebook producing values, activity on values, list of nothing, description of values, property, table column, combination value and value, , nothing, value, value, external file, internal file, described action, action, action name, time, scene, figure name, sound name, topic, abstract object, natural language, grammatical tense, narrative viewpoint, grammatical case, grammatical gender, room, thing, direction, door, container, supporter, backdrop, person, region, concept, man, woman, animal, device, vehicle, player's holdall, command parser error
<= value
nothing <= value
value, value <= value
@ -60,6 +60,7 @@ supporter <= value, stored value, sayable value, object, thing
backdrop <= value, stored value, sayable value, object, thing
person <= value, stored value, sayable value, object, thing
region <= value, stored value, sayable value, object
concept <= value, stored value, sayable value, object, abstract object
man <= value, stored value, sayable value, object, thing, person
woman <= value, stored value, sayable value, object, thing, person
animal <= value, stored value, sayable value, object, thing, person
@ -138,6 +139,7 @@ supporter -> thing -> object -> sayable value -> stored value -> value ->
backdrop -> thing -> object -> sayable value -> stored value -> value ->
person -> thing -> object -> sayable value -> stored value -> value ->
region -> object -> sayable value -> stored value -> value ->
concept -> abstract object -> object -> sayable value -> stored value -> value ->
man -> person -> thing -> object -> sayable value -> stored value -> value ->
woman -> person -> thing -> object -> sayable value -> stored value -> value ->
animal -> person -> thing -> object -> sayable value -> stored value -> value ->

View file

@ -2,10 +2,10 @@ Inform 7 v10.2.0 has started.
I've now read your source text, which is 11 words long.
I've also read version 2 of Basic Inform by Graham Nelson, which is 8538 words long.
I've also read version 2 of English Language by Graham Nelson, which is 2330 words long.
I've also read version 7 of Standard Rules by Graham Nelson, which is 34998 words long.
I've also read version 7 of Standard Rules by Graham Nelson, which is 35036 words long.
Problem__ PM_KindsCircular
>--> You wrote 'A person is a kind of animal' (source text, line 3), but that
seems to contradict 'An animal is a kind of person' (the Standard Rules, line 357),
seems to contradict 'An animal is a kind of person' (the Standard Rules, line 356),
as it would make a circularity with an animal and a thing each being kinds
of the other.
Inform 7 has finished.

View file

@ -2,7 +2,7 @@ Inform 7 v10.2.0 has started.
I've now read your source text, which is 12 words long.
I've also read version 2 of Basic Inform by Graham Nelson, which is 8538 words long.
I've also read version 2 of English Language by Graham Nelson, which is 2330 words long.
I've also read version 7 of Standard Rules by Graham Nelson, which is 34998 words long.
I've also read version 7 of Standard Rules by Graham Nelson, which is 35036 words long.
Problem__ PM_TransposedNegationPair
>--> In 'A door is either opaque or transparent' (source text, line 3), you
proposed to set up the properties 'opaque' and 'transparent' as opposites
@ -10,7 +10,7 @@ Problem__ PM_TransposedNegationPair
opposites, but the other way around. (This matters because it affects
whether things not explicitly said to be either should be opaque or
transparent. Here you imply transparent is the default, but in the previous
declaration 'A container can be transparent or opaque' (the Standard Rules, line 268),
declaration 'A container can be transparent or opaque' (the Standard Rules, line 267),
opaque was.) Putting these two property names the other way around should
fix it.
Inform 7 has finished.

View file

@ -2,12 +2,12 @@ Inform 7 v10.2.0 has started.
I've now read your source text, which is 10 words long.
I've also read version 2 of Basic Inform by Graham Nelson, which is 8538 words long.
I've also read version 2 of English Language by Graham Nelson, which is 2330 words long.
I've also read version 7 of Standard Rules by Graham Nelson, which is 34998 words long.
I've also read version 7 of Standard Rules by Graham Nelson, which is 35036 words long.
Problem__ PM_TransposedNegationPair2
>--> In 'A door can be opaque' (source text, line 3), you proposed to set up
the property 'opaque' as something which is sometimes held and sometimes
not, but by default is not. However, that clashes with the existing
declaration 'A container can be transparent or opaque' (the Standard Rules, line 268),
declaration 'A container can be transparent or opaque' (the Standard Rules, line 267),
which establishes that opaque is the opposite of transparent, and is held
by default. (The simplest way to fix this is just to change 'opaque' to
'transparent' in your sentence here.)

View file

@ -2,13 +2,13 @@ Inform 7 v10.2.0 has started.
I've now read your source text, which is 46 words long.
I've also read version 2 of Basic Inform by Graham Nelson, which is 8538 words long.
I've also read version 2 of English Language by Graham Nelson, which is 2330 words long.
I've also read version 7 of Standard Rules by Graham Nelson, which is 34998 words long.
I've also read version 7 of Standard Rules by Graham Nelson, which is 35036 words long.
Problem__ PM_VarKOVClash
In Part Three - Variables and Rulebooks, Chapter 1 - Variables, Section 3 -
Used when ruling on accessibility in the extension Standard Rules by Graham
Nelson:
>--> You wrote 'The container in question is an object that varies' (the
Standard Rules, line 471): but the name supplied for this new variable is a
Standard Rules, line 470): but the name supplied for this new variable is a
piece of text which is not available because it has a rival meaning
already, as a result of definitions made elsewhere. (Sometimes these are
indirect: for instance, defining a column in a table called 'question' can
@ -19,7 +19,7 @@ In Part Three - Variables and Rulebooks, Chapter 1 - Variables, Section 3 -
defined which might cause this clash.
Problem__ PM_VarKOVClash
>--> You wrote 'The supporter in question is an object that varies' (the
Standard Rules, line 472): again, the name supplied for this new variable
Standard Rules, line 471): again, the name supplied for this new variable
is a piece of text which is not available because it has a rival meaning
already.
Inform 7 has finished.

View file

@ -2,11 +2,11 @@ Inform 7 v10.2.0 has started.
I've now read your source text, which is 15 words long.
I've also read version 2 of Basic Inform by Graham Nelson, which is 8538 words long.
I've also read version 2 of English Language by Graham Nelson, which is 2330 words long.
I've also read version 7 of Standard Rules by Graham Nelson, which is 34998 words long.
I've also read version 7 of Standard Rules by Graham Nelson, which is 35036 words long.
Problem__ PM_VariableContradiction
>--> You wrote 'The command prompt is "What do you want to do? >"' (source
text, line 3), but in another sentence 'The command prompt is ">"' (the
Standard Rules, line 496): but this looks like a contradiction, because the
Standard Rules, line 495): but this looks like a contradiction, because the
initial value of this variable seems to be being set in each of these
sentences, but with a different outcome.
Inform 7 has finished.

View file

@ -168,20 +168,29 @@ Chapter 2 - Kinds for the Physical World
Section 1 - Kind Definitions
A room is a kind.
A thing is a kind.
A direction is a kind.
A room is a kind of object.
A thing is a kind of object.
A direction is a kind of object.
A door is a kind of thing.
A container is a kind of thing.
A supporter is a kind of thing.
A backdrop is a kind of thing.
The plural of person is people. The plural of person is persons.
A person is a kind of thing.
A region is a kind.
A region is a kind of object.
A concept is a kind of abstract object.
A room can be privately-named or publicly-named. A room is usually publicly-named.
A thing can be privately-named or publicly-named. A thing is usually publicly-named.
A direction can be privately-named or publicly-named. A direction is usually
publicly-named.
A region can be privately-named or publicly-named. A region is usually publicly-named.
A concept can be privately-named or publicly-named. A concept is usually publicly-named.
@ At this point, then, the hierarchy looks like so:
= (text)
kind
object
room
thing
door
@ -191,6 +200,8 @@ A region is a kind.
person
direction
region
abstract object
concept
=
This framework is the minimum kit needed in order for Inform to be able to
manage the spatial relationships arising from its basic verbs. Room and thing
@ -209,13 +220,8 @@ Although further kinds will be created later ("vehicle", for instance),
those are merely design choices, and Inform would not be troubled by their
absence.
@
=
Section 1a - Concepts (for concepts language element only)
A concept is a kind.
A concept can be privately-named or publicly-named. A concept is usually publicly-named.
In addition to the more physical kinds, "concept" is used by the dialogue system
for ideas or subjects to think about.
@h Rooms.
We now detail each of the fundamental kinds in turn, in order of their
@ -234,7 +240,6 @@ in IF as ambient environments in which interesting things happen, rather
than being direct participants.
=
A room can be privately-named or publicly-named. A room is usually publicly-named.
A room can be lighted or dark. A room is usually lighted.
A room can be visited or unvisited. A room is usually unvisited.
@ -274,8 +279,6 @@ might be inside the region 13th Arrondissement, which in turn is inside
the region Paris. Regions are useful mainly when the world is a large one,
and are optional."
A region can be privately-named or publicly-named. A region is usually publicly-named.
@h Things.
Things are ubiquitous:
@ -325,7 +328,6 @@ only short-term information and is used as workspace by the I6 library and
also by some of the I7 template routines.)
=
A thing can be privately-named or publicly-named. A thing is usually publicly-named.
A thing can be undescribed or described. A thing is usually described.
A thing can be marked for listing or unmarked for listing. A thing is usually
unmarked for listing.
@ -379,8 +381,6 @@ The specification of direction is "Represents a direction of movement, such
as northeast or down. They always occur in opposite, matched pairs: northeast
and southwest, for instance; down and up."
A direction can be privately-named or publicly-named. A direction is usually
publicly-named.
A direction can be marked for listing or unmarked for listing. A direction is
usually unmarked for listing.
A direction can be scenery. A direction is always scenery.

View file

@ -1382,7 +1382,7 @@ Making more specific kinds of existing ones is an excellent way to build out the
isn't allowed. The numbers are fixed and all exist already; we can write a story where the world has no Bengal tigers, but not a story where the world has no number between 4 and 6. That doesn't mean numbers are all alike, of course, and we will later see that we can use words like `even` and `odd` to describe numbers, and even create new adjectives like `unlucky` or `perfect` for them. But these are not kinds. Saying that 2 is an even number does not create a new number, and saying that 3 is an even number makes no sense. So it is not possible in Inform to create a `kind of number`.
But what we can do is to invent entirely new concepts, like so:
But what we can do is to invent entirely new sorts of quantity, like so:
A distance is a kind of value.
@ -1474,7 +1474,7 @@ We are allowed to define more than one `plural of` the same singular text, and f
^^{kinds: of value <-- |enumerated value} ^^{kinds: defining: kinds of value} ^^{defining: kinds of value} ^^{values: kinds of value} ^^{kinds: enumerated values} ^^{units of measure}
So much for making new and more specialised kinds of `object` for example, new kinds of `room`, or of `animal`. This allows us to describe the physical world in elegant ways, but what about concepts which aren't so physical?
So much for making new and more specialised kinds of `object` for example, new kinds of `room`, or of `animal`. This allows us to describe the physical world in elegant ways, but what about pieces of information which aren't so physical?
To Inform, numbers like 1, 2, 3, ... and texts like `"Jackdaws love my big sphinx of quartz"` are not physical. They are values, but not objects, so they don't belong to the `object` kind. In fact, `number` and `text` are not kinds of any greater kind.
@ -1524,6 +1524,41 @@ These are the two ways in which writers size up the world, so Inform provides bo
Quantitative kinds like this are sometimes called "units", because as in this example they're often units in the sense of measuring things. Many Inform projects never need units, but they can still be very useful, and they're described in detail in the chapter on [Numbers and Equations].
## Abstract objects and concepts
The objects seen so far have almost all been physical, in one way or another, and have all belonged to the kinds `thing`, `room`, `region` or `direction`.
But Inform also has a kind called `abstract object`. This can be used for something which does exist in the world, but has no spatial location. Rather than creating individual abstract objects, it's best to create kinds for them, to avoid what might be a very miscellaneous collection. One such kind exists already: `concept`. So, for example:
The paranormal is a concept. Understand "supernatural" as the paranormal.
produces:
> `object``abstract object``concept``paranormal`
By default there are no concepts, and none are created automatically.
Abstract objects have no physical existence, of course, so it throws a problem message to write something like:
The paranormal is a concept in the Dining Room.
And this would produce a run-time problem:
After rubbing the lamp:
now the paranormal is in the Cave.
Why do we need abstract objects? It's all very well to write something like:
An emotion is a kind of abstract object.
Hope, fear and chagrin are emotions.
But we could just as well have written:
Emotion is a kind of value.
Hope, fear and chagrin are emotions.
The answer is that for almost all purposes a kind of value works just as well or better. But there are occasionally times when we want a property or a variable to hold a value which could be either physical or abstract. For example, somebody might want to talk about the lamp, or might want to talk about chagrin. How could a single value represent either? The answer is that if `chagrin` is set up so that it is an `abstract object`, then an `object` variable could indeed hold either the value `lamp` or the value `chagrin`.
## Properties again {PM_ValueCantHaveProperties} {PM_ValueCantHaveVProperties}
^^{properties} ^^{relations} ^^{properties: either/or properties} ^^{either/or properties} ^^{properties: value properties} ^^{value properties} ^^{properties: holding text} ^^{Kinds page of Index panel+ui+} ^^{user interface: Index panel: Kinds page} ^^{Index panel+ui+: Kinds page} ^^{even / odd (number)+adj+} ^^{odd / even (number)+adj+}
@ -5928,7 +5963,7 @@ Here `it` refers to the supporter in question. Note that there are now two colon
^^{phrases: deciding a value} ^^{to decide what/which (value)+assert+} ^^{Inform 6 equivalent: return value} ^^{type-checking: in phrases that decide values}
A condition is a yes/no decision, but we can also take decisions where the result is a value. Suppose we want to create a concept of the "grand prize", which will have different values at different times in play. Each time the "grand prize" is referred to, Inform will have to decide what its value is, and the following tells Inform how to make that decision:
A condition is a yes/no decision, but we can also take decisions where the result is a value. Suppose we want to create a "grand prize", which will have different values at different times in play. Each time the "grand prize" is referred to, Inform will have to decide what its value is, and the following tells Inform how to make that decision:
To decide which treasure is the grand prize:
if the Dark Room has been visited, decide on the silver bars;
@ -6749,7 +6784,7 @@ In other words, does the effect apply only to particular people, things or place
Rules like the one saying that photography is only possible if one holds the camera are, by convention, also counted as generic rules of play: they are not really special rules about the camera, but apply to all possible acts of photography anywhere, so are actually generic.
Sometimes we can choose our own answer to this question, and go either way. Suppose we want a certain place to be muddy-floored, affecting things that happen there. One way would be to write exceptional rules applying to that one room. But we could alternatively create a general concept of muddiness (`A room can be clean or muddy. A room is usually clean.`) and then regard the new behaviour as being a set of generic rules applying in muddy rooms. We could then, of course, create a second muddy room with much greater ease, or transplant these rules to other works and have muddy rooms in those too.
Sometimes we can choose our own answer to this question, and go either way. Suppose we want a certain place to be muddy-floored, affecting things that happen there. One way would be to write exceptional rules applying to that one room. But we could alternatively create a general definition of muddiness (`A room can be clean or muddy. A room is usually clean.`) and then regard the new behaviour as being a set of generic rules applying in muddy rooms. We could then, of course, create a second muddy room with much greater ease, or transplant these rules to other works and have muddy rooms in those too.
**3. Particular situations: use Instead or After (or sometimes Before).**
@ -7747,7 +7782,7 @@ Such a relation exists only in the current phrase, and is destroyed when the phr
It is easy to say what verbs are for: they are to express relations. But what are relations for?
Inform 7's focus on relations between objects is unusual as an approach to interactive fiction; the concept does not exist in most design systems, or rather, it does but is submerged. Traditional design systems do, after all, have the spatial relations of being inside, on top of, and so on. It could well be said that these are the only relationships that inanimate objects ever have. A stone can be on top of a table, and if so then that expresses their entire association.
The ones we've seen so far are mostly about how things are arranged in space: things being inside or on top of each other, or one room being mapped north of another. In some ways these are the only relationships that inanimate objects ever have. A stone can be on top of a table, and if so then that expresses their entire association.
This is because the stone, and the table, have no opinions, emotions, knowledge or memory. If the stone is taken away and then put back, nothing has changed. People, on the other hand, tend to remember having met each other before; they like being in some places, but not others; their behaviour depends on who, or what, is nearby. Being conscious, they have internal states, unlike the stone. Relations are a simple but powerful way to express and talk about such connections, and although they have numerous uses in physical contexts too, they are at their most powerful when helping to make the characters of interactive fiction come alive.
@ -9015,7 +9050,7 @@ Fortunately the whole set is indeed available in a presentation box, and at no e
^^{units of measure: with multiple numeric components} ^^{units of measure: defining} ^^{defining: units of measure with parts} ^^{limits: of numeric values of units} ^^{numbers: limits of numeric values of units} ^^{Z-machine: numeric limits} ^^{Glulx: numeric limits} ^^{virtual machine: numeric limits} ^^{real numbers: limits of numeric values of units} ^^{punctuation: quotation marks: not usable in unit notations} ^^{|": not usable in unit notations}
We've seen quite enough scientific notation for the time being. There are plenty of other notations used in natural language, for everyday concepts, where people don't use a tidy spread of powers of 10. Instead they use mixtures, with some sort of punctuation or text to divide them. For instance, the running time of a piece of music is easier to follow in minutes and seconds than in seconds alone: old-fashioned LP sleeves used to quote running times in the form 4'33.
We've seen quite enough scientific notation for the time being. There are plenty of other notations used in natural language, for everyday talk, where people don't use a tidy spread of powers of 10. Instead they use mixtures, with some sort of punctuation or text to divide them. For instance, the running time of a piece of music is easier to follow in minutes and seconds than in seconds alone: old-fashioned LP sleeves used to quote running times in the form 4'33.
A running time is a kind of value. 3'59 specifies a running time.
@ -10201,7 +10236,7 @@ We then supply lines of grammar (as they are called) for Inform to recognise, li
Understand "photograph [an open door]" as photographing.
The part in quotation marks after the word `Understand` looks like text — something which Inform can say, or can manipulate in various letter-by-letter ways. The square brackets even look like text substitutions. In fact, though, `"photograph [an open door]"` is _not_ a text value. It is a pattern used to match the words in a command. It will match the word ``PHOTOGRAPH`` followed by the name of an open door which is currently "in scope" (a concept we will come back to, but which roughly means nearby). It will not match any other wording.
The part in quotation marks after the word `Understand` looks like text — something which Inform can say, or can manipulate in various letter-by-letter ways. The square brackets even look like text substitutions. In fact, though, `"photograph [an open door]"` is _not_ a text value. It is a pattern used to match the words in a command. It will match the word ``PHOTOGRAPH`` followed by the name of an open door which is currently "in scope" (an idea we will come back to, but which roughly means nearby). It will not match any other wording.
For obvious reasons, this pattern of words needs to match the expectations of the action. Photographing applies to `one thing`, so these instructions are both a little odd: one supplies no things, and the other supplies two.
@ -10346,7 +10381,7 @@ then we can define an action `applying to one state`, say, and then the token `"
which would enable `"[a weight]"` to match ``27KG``, for example.
The issue of "scope" does not arise for values which are not objects. Scope is all about where things are in the physical world, but the number 17, or for that matter the concept of being a gas, makes equal sense everywhere. So although it's quite legal to write `"[any number]"`, using the `any` to mean anywhere, the effect is exactly the same as writing just `"[a number]"`.
The issue of "scope" does not arise for values which are not objects. Scope is all about where things are in the physical world, but the number 17, or for that matter the possibility of being a gas, makes equal sense everywhere. So although it's quite legal to write `"[any number]"`, using the `any` to mean anywhere, the effect is exactly the same as writing just `"[a number]"`.
## The text token {text_token}
@ -10435,7 +10470,7 @@ This section can safely be skipped by most Inform authors, but for experts it pr
### When scope is used by Inform
As we have seen, scope is a concept of nearby-ness which is used by the command parser to see which names to recognise in commands. The command ``TAKE HOLY GRAIL`` will be understood only if the Holy Grail is in scope, and so on. Scope roughly means "within sight or touch", but only roughly. It's a concept used in Inform in other places too:
As we have seen, scope is an idea of nearby-ness which is used by the command parser to see which names to recognise in commands. The command ``TAKE HOLY GRAIL`` will be understood only if the Holy Grail is in scope, and so on. Scope roughly means "within sight or touch", but only roughly. It's used in Inform in other places too:
* To define the `visibility relation`. `A` can see `B` if:
- there is light where `A` is, _and_
@ -15588,7 +15623,7 @@ Provided we declare the files in the right way, it is easy for one project to re
But if we want more rapid communication, between two projects which are each playing at the same time, we need to be more careful. What if project A tries to read the file at the same moment that project B is writing it?
To avoid this, we have a concept of files being "ready". A file is ready if it exists, and is completely written, and not in use elsewhere. We have already seen:
To avoid this, we have a condition of files as _ready to read_ or not. A file is ready to read if it exists, and is completely written, and not in use elsewhere. We have already seen:
if the file of Invariants exists...