diff --git a/docs/imperative-module/1-im.html b/docs/imperative-module/1-im.html
index 5196f86fb..78ba1c3ec 100644
--- a/docs/imperative-module/1-im.html
+++ b/docs/imperative-module/1-im.html
@@ -33,7 +33,9 @@
inform6
inpolicy
inrtps
-extensions and kits
+Resources
Repository
Related Projects
diff --git a/docs/imperative-module/2-cc.html b/docs/imperative-module/2-cc.html
index 355d2e6c4..aebed191f 100644
--- a/docs/imperative-module/2-cc.html
+++ b/docs/imperative-module/2-cc.html
@@ -55,7 +55,9 @@ MathJax = {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/2-cl.html b/docs/imperative-module/2-cl.html
index 5f230e0c1..d684b1439 100644
--- a/docs/imperative-module/2-cl.html
+++ b/docs/imperative-module/2-cl.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/2-cr.html b/docs/imperative-module/2-cr.html
index 3fcaa8993..1ae0c4e0a 100644
--- a/docs/imperative-module/2-cr.html
+++ b/docs/imperative-module/2-cr.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/2-cv.html b/docs/imperative-module/2-cv.html
index 468f7c21f..6cd78011c 100644
--- a/docs/imperative-module/2-cv.html
+++ b/docs/imperative-module/2-cv.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/2-map.html b/docs/imperative-module/2-map.html
index f0696a29d..a6787a1c0 100644
--- a/docs/imperative-module/2-map.html
+++ b/docs/imperative-module/2-map.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/2-mgap.html b/docs/imperative-module/2-mgap.html
index 264382ec4..651d09863 100644
--- a/docs/imperative-module/2-mgap.html
+++ b/docs/imperative-module/2-mgap.html
@@ -33,7 +33,9 @@
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/3-cb.html b/docs/imperative-module/3-cb.html
index 68d9ac7a0..aef0fe315 100644
--- a/docs/imperative-module/3-cb.html
+++ b/docs/imperative-module/3-cb.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/3-cid.html b/docs/imperative-module/3-cid.html
index 2db0589f2..5037937f4 100644
--- a/docs/imperative-module/3-cid.html
+++ b/docs/imperative-module/3-cid.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/3-cls.html b/docs/imperative-module/3-cls.html
index 884abcea6..96dc336a2 100644
--- a/docs/imperative-module/3-cls.html
+++ b/docs/imperative-module/3-cls.html
@@ -46,7 +46,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/3-fnc.html b/docs/imperative-module/3-fnc.html
index c170ad2f3..fb5f49727 100644
--- a/docs/imperative-module/3-fnc.html
+++ b/docs/imperative-module/3-fnc.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/3-jl.html b/docs/imperative-module/3-jl.html
index a478b32e1..4881dea28 100644
--- a/docs/imperative-module/3-jl.html
+++ b/docs/imperative-module/3-jl.html
@@ -46,7 +46,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/3-lp.html b/docs/imperative-module/3-lp.html
index 6a4db6d5b..91705ae1c 100644
--- a/docs/imperative-module/3-lp.html
+++ b/docs/imperative-module/3-lp.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/3-lv.html b/docs/imperative-module/3-lv.html
index 89f8c2879..a0fc5ea88 100644
--- a/docs/imperative-module/3-lv.html
+++ b/docs/imperative-module/3-lv.html
@@ -47,7 +47,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/3-lvs.html b/docs/imperative-module/3-lvs.html
index 971b1632c..e4b020170 100644
--- a/docs/imperative-module/3-lvs.html
+++ b/docs/imperative-module/3-lvs.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/3-pr.html b/docs/imperative-module/3-pr.html
index e31e9f73b..669c2b6ec 100644
--- a/docs/imperative-module/3-pr.html
+++ b/docs/imperative-module/3-pr.html
@@ -46,7 +46,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/3-sf.html b/docs/imperative-module/3-sf.html
index 7ffe303f7..37eda566d 100644
--- a/docs/imperative-module/3-sf.html
+++ b/docs/imperative-module/3-sf.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/3-tv.html b/docs/imperative-module/3-tv.html
index 6dbf06ac0..5eab615df 100644
--- a/docs/imperative-module/3-tv.html
+++ b/docs/imperative-module/3-tv.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/4-ca.html b/docs/imperative-module/4-ca.html
index 4f525d8dd..1d5cc3a0e 100644
--- a/docs/imperative-module/4-ca.html
+++ b/docs/imperative-module/4-ca.html
@@ -55,7 +55,9 @@ MathJax = {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/4-cad.html b/docs/imperative-module/4-cad.html
index 5d496396b..cd730c740 100644
--- a/docs/imperative-module/4-cad.html
+++ b/docs/imperative-module/4-cad.html
@@ -60,7 +60,9 @@ MathJax = {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/4-cdp.html b/docs/imperative-module/4-cdp.html
index 28b45004f..09c7036a6 100644
--- a/docs/imperative-module/4-cdp.html
+++ b/docs/imperative-module/4-cdp.html
@@ -60,7 +60,9 @@ MathJax = {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/4-cl.html b/docs/imperative-module/4-cl.html
index 4d7e3e75d..c570282e7 100644
--- a/docs/imperative-module/4-cl.html
+++ b/docs/imperative-module/4-cl.html
@@ -55,7 +55,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/4-cp.html b/docs/imperative-module/4-cp.html
index 31dae99c9..078428277 100644
--- a/docs/imperative-module/4-cp.html
+++ b/docs/imperative-module/4-cp.html
@@ -55,7 +55,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/4-cs.html b/docs/imperative-module/4-cs.html
index a9e2bf909..9c7cbc071 100644
--- a/docs/imperative-module/4-cs.html
+++ b/docs/imperative-module/4-cs.html
@@ -55,7 +55,9 @@ MathJax = {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/4-dtd.html b/docs/imperative-module/4-dtd.html
index 4cf9e4986..11619082e 100644
--- a/docs/imperative-module/4-dtd.html
+++ b/docs/imperative-module/4-dtd.html
@@ -55,7 +55,9 @@ MathJax = {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/5-ca.html b/docs/imperative-module/5-ca.html
index 5ba4f4798..8fd5606b4 100644
--- a/docs/imperative-module/5-ca.html
+++ b/docs/imperative-module/5-ca.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
@@ -80,13 +82,19 @@ arithmetic is integer or floating-point.
parse_node *Y, equation_node *EY, kind *KY) {
int binary = TRUE;
if (Kinds::Dimensions::arithmetic_op_is_unary(op)) binary = FALSE;
- int use_fp = FALSE, promote_X = FALSE, promote_Y = FALSE, reduce_modulo_1440 = FALSE;
+ int use_fp = FALSE, promote_X = FALSE, promote_Y = FALSE, demote_result = FALSE,
+ reduce_modulo_1440 = FALSE;
+ kind *KR = Kinds::Dimensions::arithmetic_on_kinds(KX, KY, op);
if ((KX) && (KY)) {
#ifdef IF_MODULE
- kind *KR = Kinds::Dimensions::arithmetic_on_kinds(KX, KY, op);
kind *KT = TimesOfDay::kind();
if ((KT) && (Kinds::eq(KR, KT))) reduce_modulo_1440 = TRUE;
#endif
+ if (((Kinds::FloatingPoint::uses_floating_point(KX)) ||
+ (Kinds::FloatingPoint::uses_floating_point(KY)))
+ && (Kinds::FloatingPoint::uses_floating_point(KR) == FALSE)
+ && ((op == TIMES_OPERATION) || (op == DIVIDE_OPERATION)))
+ demote_result = TRUE;
}
Choose which form of arithmetic and promotion1.1;
Optimise promotions from number to real number1.2;
@@ -94,6 +102,9 @@ arithmetic is integer or floating-point.
EmitCode::call(Hierarchy::find(NUMBER_TY_TO_TIME_TY_HL));
EmitCode::down();
}
+ if (demote_result) {
+ Kinds::FloatingPoint::begin_deflotation_emit(KR);
+ }
switch (op) {
case EQUALS_OPERATION: Emit set-equals1.11; break;
case PLUS_OPERATION: Emit plus1.3; break;
@@ -114,6 +125,7 @@ arithmetic is integer or floating-point.
"suggesting a problem with some inline definition.");
break;
}
+ if (demote_result) Kinds::FloatingPoint::end_deflotation_emit(KR);
if (reduce_modulo_1440) EmitCode::up();
}
diff --git a/docs/imperative-module/5-cbal.html b/docs/imperative-module/5-cbal.html
index b342580be..9b737adaf 100644
--- a/docs/imperative-module/5-cbal.html
+++ b/docs/imperative-module/5-cbal.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/5-ci.html b/docs/imperative-module/5-ci.html
index 357e72b3e..e2853adcd 100644
--- a/docs/imperative-module/5-ci.html
+++ b/docs/imperative-module/5-ci.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/5-ciac.html b/docs/imperative-module/5-ciac.html
index ad3b5eecc..9ad93744b 100644
--- a/docs/imperative-module/5-ciac.html
+++ b/docs/imperative-module/5-ciac.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/5-cii.html b/docs/imperative-module/5-cii.html
index a4047b482..00b3bb673 100644
--- a/docs/imperative-module/5-cii.html
+++ b/docs/imperative-module/5-cii.html
@@ -42,7 +42,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/5-cste.html b/docs/imperative-module/5-cste.html
index 22679ca1c..2a57351ff 100644
--- a/docs/imperative-module/5-cste.html
+++ b/docs/imperative-module/5-cste.html
@@ -41,7 +41,9 @@ function togglePopup(material_id) {
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/P-wtmd.html b/docs/imperative-module/P-wtmd.html
index 537e9663d..e6c2cd681 100644
--- a/docs/imperative-module/P-wtmd.html
+++ b/docs/imperative-module/P-wtmd.html
@@ -33,7 +33,9 @@
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/docs/imperative-module/index.html b/docs/imperative-module/index.html
index 65fd704d3..60125b83b 100644
--- a/docs/imperative-module/index.html
+++ b/docs/imperative-module/index.html
@@ -31,7 +31,9 @@
- inform6
- inpolicy
- inrtps
-- extensions and kits
+
Resources
Repository
Related Projects
diff --git a/inform7/Figures/timings-diagnostics.txt b/inform7/Figures/timings-diagnostics.txt
index c57274e34..f8297b8ca 100644
--- a/inform7/Figures/timings-diagnostics.txt
+++ b/inform7/Figures/timings-diagnostics.txt
@@ -1,33 +1,33 @@
100.0% in inform7 run
- 68.0% in compilation to Inter
- 47.2% in //Sequence::undertake_queued_tasks//
- 4.5% in //MajorNodes::pre_pass//
- 3.2% in //MajorNodes::pass_1//
- 2.5% in //RTPhrasebook::compile_entries//
+ 68.2% in compilation to Inter
+ 47.3% in //Sequence::undertake_queued_tasks//
+ 4.6% in //MajorNodes::pre_pass//
+ 3.3% in //MajorNodes::pass_1//
+ 2.4% in //RTPhrasebook::compile_entries//
1.8% in //ImperativeDefinitions::assess_all//
1.6% in //RTKindConstructors::compile//
- 1.0% in //Sequence::lint_inter//
+ 1.1% in //Sequence::lint_inter//
0.5% in //ImperativeDefinitions::compile_first_block//
0.5% in //MajorNodes::pass_2//
0.5% in //Sequence::undertake_queued_tasks//
- 0.5% in //Sequence::undertake_queued_tasks//
0.5% in //World::stage_V//
+ 0.3% in //Sequence::undertake_queued_tasks//
0.1% in //CompletionModule::compile//
0.1% in //InferenceSubjects::emit_all//
0.1% in //RTKindConstructors::compile_permissions//
0.1% in //Task::make_built_in_kind_constructors//
0.1% in //World::stages_II_and_III//
- 2.2% not specifically accounted for
- 29.1% in running Inter pipeline
- 10.4% in step 14/14: generate inform6 -> auto.inf
- 8.2% in step 5/14: load-binary-kits
- 6.3% in step 6/14: make-synoptic-module
+ 2.4% not specifically accounted for
+ 29.0% in running Inter pipeline
+ 10.7% in step 14/14: generate inform6 -> auto.inf
+ 7.5% in step 5/14: load-binary-kits
+ 6.2% in step 6/14: make-synoptic-module
1.4% in step 9/14: make-identifiers-unique
0.3% in step 12/14: eliminate-redundant-operations
0.3% in step 4/14: compile-splats
0.3% in step 7/14: shorten-wiring
0.3% in step 8/14: detect-indirect-calls
0.1% in step 11/14: eliminate-redundant-labels
- 1.0% not specifically accounted for
- 2.1% in supervisor
+ 1.3% not specifically accounted for
+ 2.2% in supervisor
0.6% not specifically accounted for
diff --git a/inform7/Tests/Test Basic/BIP-ArithmeticOperations-G.txt b/inform7/Tests/Test Basic/BIP-ArithmeticOperations-G.txt
index 96c10c5ab..5ec5808c0 100644
--- a/inform7/Tests/Test Basic/BIP-ArithmeticOperations-G.txt
+++ b/inform7/Tests/Test Basic/BIP-ArithmeticOperations-G.txt
@@ -11,6 +11,10 @@ A length times a length specifies an area.
A fruit has a length. An apple has length 1m. A pear has length 6m. An orange has length 3m.
+Cash-value is a kind of value. $1.99 specifies a cash-value.
+
+Holdings is a cash-value that varies. Holdings is $3.50.
+
To begin:
showme 2 + 3;
showme 2 plus -3;
@@ -81,3 +85,5 @@ To begin:
showme 6 x 10^23 to the nearest whole number;
showme pi to the power 4;
showme pi * pi * pi * pi;
+ showme 2 times holdings;
+ showme 2.7 times holdings;
diff --git a/inform7/Tests/Test Basic/_Results_Ideal/BIP-ArithmeticOperations-G.txt b/inform7/Tests/Test Basic/_Results_Ideal/BIP-ArithmeticOperations-G.txt
index a8d5425b3..1d530e5d3 100644
--- a/inform7/Tests/Test Basic/_Results_Ideal/BIP-ArithmeticOperations-G.txt
+++ b/inform7/Tests/Test Basic/_Results_Ideal/BIP-ArithmeticOperations-G.txt
@@ -67,3 +67,5 @@
"6 x 10^23 to the nearest whole number" = number: 2147483647
"pi to the power 4" = real number: 97.4091
"pi * pi * pi * pi" = real number: 97.4091
+"2 times holdings" = cash-value: $7.00
+"2.7 times holdings" = cash-value: $9.45
diff --git a/inform7/Tests/Test Makes/Eg4-C/textual.txt b/inform7/Tests/Test Makes/Eg4-C/textual.txt
index 88c2a2544..a8b353c74 100644
--- a/inform7/Tests/Test Makes/Eg4-C/textual.txt
+++ b/inform7/Tests/Test Makes/Eg4-C/textual.txt
@@ -1516,7 +1516,7 @@ package main _plain
constant (int32) relation_id = 29 __translation="relation_id_U23"
constant (text) ^term0 = "object"
constant (text) ^term1 = "number"
- constant (int32) ^at = 14870
+ constant (int32) ^at = 14873
package relation24 _relation
constant (int32) relation_id = 30 __translation="relation_id_U24"
constant (text) ^name = "same-variable-initial-value-as"
@@ -1604,27 +1604,27 @@ package main _plain
constant ^conformed_to = /main/generic/kinds/kind17/kind_ref
constant (text) ^brief_inferences = "Usually singular-named not plural-named, improper-named not proper-named.
\nUsually not ambiguously plural.
\nCan have printed name (text), printed plural name (text), indefinite article (text).
\n"
constant (text) ^inferences = "Usually singular-named not plural-named, improper-named not proper-named.
\nUsually not ambiguously plural.
\nCan have printed name (text), printed plural name (text), indefinite article (text).
\n"
- permission for K_object to have P_variable_initial_value
- permission for K_object to have P_printed_name
- permission for K_object to have P_printed_plural_name
- permission for K_object to have P_indefinite_article
- permission for K_object to have P_plural_named
- permission for K_object to have P_proper_named
- permission for K_object to have P_ambiguously_plural
- permission for K_object to have P_vector
- permission for K_object to have P_kd_count
- propertyvalue P_plural_named of K_object = 0
- propertyvalue P_proper_named of K_object = 0
- propertyvalue P_printed_name of K_object = /main/generic/kinds/kind1/block_constant1/bc
+ permission for K_object to have /main/basic_inform_by_graham_nelson/properties/property1/P_variable_initial_value
+ permission for K_object to have /main/basic_inform_by_graham_nelson/properties/property4/P_printed_name
+ permission for K_object to have /main/basic_inform_by_graham_nelson/properties/property5/P_printed_plural_name
+ permission for K_object to have /main/basic_inform_by_graham_nelson/properties/property6/P_indefinite_article
+ permission for K_object to have /main/basic_inform_by_graham_nelson/properties/property7/P_plural_named
+ permission for K_object to have /main/basic_inform_by_graham_nelson/properties/property9/P_proper_named
+ permission for K_object to have /main/basic_inform_by_graham_nelson/properties/property8/P_ambiguously_plural
+ permission for K_object to have /main/generic/properties/property1/P_vector
+ permission for K_object to have /main/generic/properties/property2/P_kd_count
+ propertyvalue /main/basic_inform_by_graham_nelson/properties/property7/P_plural_named of K_object = 0
+ propertyvalue /main/basic_inform_by_graham_nelson/properties/property9/P_proper_named of K_object = 0
+ propertyvalue /main/basic_inform_by_graham_nelson/properties/property4/P_printed_name of K_object = /main/generic/kinds/kind1/block_constant1/bc
package block_constant1 _block_constant
constant bc = { /main/BasicInformKit/constants/CONSTANT_PACKED_TEXT_STORAGE_con/CONSTANT_PACKED_TEXT_STORAGE, /main/BasicInformKit/constants/EMPTY_TEXT_PACKED_con/EMPTY_TEXT_PACKED } __translation="bc_U1"
- propertyvalue P_printed_plural_name of K_object = /main/generic/kinds/kind1/block_constant2/bc
+ propertyvalue /main/basic_inform_by_graham_nelson/properties/property5/P_printed_plural_name of K_object = /main/generic/kinds/kind1/block_constant2/bc
package block_constant2 _block_constant
constant bc = { /main/BasicInformKit/constants/CONSTANT_PACKED_TEXT_STORAGE_con/CONSTANT_PACKED_TEXT_STORAGE, /main/BasicInformKit/constants/EMPTY_TEXT_PACKED_con/EMPTY_TEXT_PACKED } __translation="bc_U2"
- propertyvalue P_indefinite_article of K_object = /main/generic/kinds/kind1/block_constant3/bc
+ propertyvalue /main/basic_inform_by_graham_nelson/properties/property6/P_indefinite_article of K_object = /main/generic/kinds/kind1/block_constant3/bc
package block_constant3 _block_constant
constant bc = { /main/BasicInformKit/constants/CONSTANT_PACKED_TEXT_STORAGE_con/CONSTANT_PACKED_TEXT_STORAGE, /main/BasicInformKit/constants/EMPTY_TEXT_PACKED_con/EMPTY_TEXT_PACKED } __translation="bc_U3"
- propertyvalue P_ambiguously_plural of K_object = 0
+ propertyvalue /main/basic_inform_by_graham_nelson/properties/property8/P_ambiguously_plural of K_object = 0
constant cap_short_name = /main/basic_inform_by_graham_nelson/properties/property4/P_printed_name
package kind2 _kind
constant (text) ^name = "number"
@@ -2451,7 +2451,7 @@ package main _plain
constant ^conformed_to = /main/generic/kinds/kind17/kind_ref
constant (text) ^brief_inferences = ""
constant (text) ^inferences = ""
- typename K_phrase_text_style____noth = function K_text_style -> unchecked __translation="K_phrase_text_style____noth"
+ typename K_phrase_text_style____noth = function /main/source_text/kinds/kind1/K_text_style -> unchecked __translation="K_phrase_text_style____noth"
package kind24 _kind
constant (text) ^name = "variable-pointer | k variable-pointer"
constant (int32) kind_ref = 561 __translation="kind_ref_U24"
@@ -3916,6 +3916,7 @@ package main _plain
constant NO_USE_OPTIONS = 17
package connectors _linkage
package architectural _linkage
+ constant self = 0
constant WORDSIZE = 4
constant NULL = 0xffffffff
constant WORD_HIGHBIT = 0x80000000
@@ -3925,6 +3926,12 @@ package main _plain
constant MIN_NEGATIVE_NUMBER = -2147483648
constant TARGET_GLULX = 1
constant DEBUG = 1
+ constant String = 0
+ constant Routine = 0
+ constant Object = 0
+ constant Class = 0
+ constant #dictionary_table = 0
+ constant #grammar_table = 0
package basic_inform_by_graham_nelson _module
constant (int32) ^category = 3
constant (text) ^author = "Graham Nelson"
@@ -5574,7 +5581,7 @@ package main _plain
constant (text) ^name = "dynamic memory allocation"
constant (text) ^printed_name = "dynamic memory allocation option [8192]"
constant (int32) ^source_file_scoped = 0
- constant (int32) ^at = 15521
+ constant (int32) ^at = 15524
constant ^used_in_extension = /main/basic_inform_by_graham_nelson/extension_id
constant (int32) ^minimum = 8192
package use_option16 _use_option
@@ -5644,8 +5651,8 @@ package main _plain
constant (text) ^name = "German language"
constant (text) ^printed_name = "German language"
constant (text) ^abbreviation = "GL"
- constant (int32) ^at = 15767
- constant (int32) ^kind_set_at = 15767
+ constant (int32) ^at = 15770
+ constant (int32) ^kind_set_at = 15770
constant ^value = I_german_language
constant (text) ^index_kind = "natural language"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > natural language"
@@ -5654,14 +5661,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_natural_language) I_german_language = 1 __translation="I_german_language_U1"
+ instance (/main/basic_inform_by_graham_nelson/kinds/kind1/K_natural_language) I_german_language = 1 __translation="I_german_language_U1"
constant (int32) ^declaration_order = 0
package instance2 _instance
constant (text) ^name = "Italian language"
constant (text) ^printed_name = "Italian language"
constant (text) ^abbreviation = "IL"
- constant (int32) ^at = 15767
- constant (int32) ^kind_set_at = 15767
+ constant (int32) ^at = 15770
+ constant (int32) ^kind_set_at = 15770
constant ^value = I_italian_language
constant (text) ^index_kind = "natural language"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > natural language"
@@ -5670,14 +5677,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_natural_language) I_italian_language = 2 __translation="I_italian_language_U1"
+ instance (/main/basic_inform_by_graham_nelson/kinds/kind1/K_natural_language) I_italian_language = 2 __translation="I_italian_language_U1"
constant (int32) ^declaration_order = 1
package instance3 _instance
constant (text) ^name = "English language"
constant (text) ^printed_name = "English language"
constant (text) ^abbreviation = "EL"
- constant (int32) ^at = 15767
- constant (int32) ^kind_set_at = 15767
+ constant (int32) ^at = 15770
+ constant (int32) ^kind_set_at = 15770
constant ^value = I_english_language
constant (text) ^index_kind = "natural language"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > natural language"
@@ -5686,15 +5693,15 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_natural_language) I_english_language = 3 __translation="I_english_language_U1"
+ instance (/main/basic_inform_by_graham_nelson/kinds/kind1/K_natural_language) I_english_language = 3 __translation="I_english_language_U1"
constant (int32) ^declaration_order = 2
- propertyvalue P_adaptive_text_viewpoint of I_english_language = /main/english_language_by_graham_nelson/instances/instance9/I_first_person_plural
+ propertyvalue /main/english_language_by_graham_nelson/properties/property1/P_adaptive_text_viewpoint of I_english_language = /main/english_language_by_graham_nelson/instances/instance9/I_first_person_plural
package instance4 _instance
constant (text) ^name = "French language"
constant (text) ^printed_name = "French language"
constant (text) ^abbreviation = "FL"
- constant (int32) ^at = 15767
- constant (int32) ^kind_set_at = 15767
+ constant (int32) ^at = 15770
+ constant (int32) ^kind_set_at = 15770
constant ^value = I_french_language
constant (text) ^index_kind = "natural language"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > natural language"
@@ -5703,14 +5710,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_natural_language) I_french_language = 4 __translation="I_french_language_U1"
+ instance (/main/basic_inform_by_graham_nelson/kinds/kind1/K_natural_language) I_french_language = 4 __translation="I_french_language_U1"
constant (int32) ^declaration_order = 3
package instance5 _instance
constant (text) ^name = "Swedish language"
constant (text) ^printed_name = "Swedish language"
constant (text) ^abbreviation = "SL"
- constant (int32) ^at = 15767
- constant (int32) ^kind_set_at = 15767
+ constant (int32) ^at = 15770
+ constant (int32) ^kind_set_at = 15770
constant ^value = I_swedish_language
constant (text) ^index_kind = "natural language"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > natural language"
@@ -5719,14 +5726,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_natural_language) I_swedish_language = 5 __translation="I_swedish_language_U1"
+ instance (/main/basic_inform_by_graham_nelson/kinds/kind1/K_natural_language) I_swedish_language = 5 __translation="I_swedish_language_U1"
constant (int32) ^declaration_order = 4
package instance6 _instance
constant (text) ^name = "Spanish language"
constant (text) ^printed_name = "Spanish language"
constant (text) ^abbreviation = "SL"
- constant (int32) ^at = 15767
- constant (int32) ^kind_set_at = 15767
+ constant (int32) ^at = 15770
+ constant (int32) ^kind_set_at = 15770
constant ^value = I_spanish_language
constant (text) ^index_kind = "natural language"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > natural language"
@@ -5735,7 +5742,7 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_natural_language) I_spanish_language = 6 __translation="I_spanish_language_U1"
+ instance (/main/basic_inform_by_graham_nelson/kinds/kind1/K_natural_language) I_spanish_language = 6 __translation="I_spanish_language_U1"
constant (int32) ^declaration_order = 5
package rulebooks _submodule
package rulebook1 _rulebook
@@ -5746,7 +5753,7 @@ package main _plain
constant ^run_fn = /main/basic_inform_by_graham_nelson/rulebooks/rulebook1/run_fn/call
constant (text) ^index_id = "startup"
constant (text) ^focus = "Startup rulebook"
- constant (int32) ^at = 15806
+ constant (int32) ^at = 15809
constant (int32) ^automatically_generated = 0
package outcome1 _rulebook_outcome
constant (text) ^text = "allow startup"
@@ -5763,7 +5770,7 @@ package main _plain
constant ^run_fn = /main/basic_inform_by_graham_nelson/rulebooks/rulebook2/run_fn/call
constant (text) ^index_id = "shutdown"
constant (text) ^focus = "Shutdown rulebook"
- constant (int32) ^at = 15828
+ constant (int32) ^at = 15831
constant (int32) ^automatically_generated = 0
constant (int32) rulebook_id = 1 __translation="rulebook_id_U2"
package rulebook_outcome1 _outcome
@@ -5781,7 +5788,7 @@ package main _plain
constant (text) ^printed_name = "before starting the virtual machine rulebook"
constant ^run_fn = /main/basic_inform_by_graham_nelson/activities/activity1/before_rb/run_fn/call
constant (text) ^focus = "before starting the virtual machine rulebook"
- constant (int32) ^at = 31930
+ constant (int32) ^at = 31933
constant (int32) ^automatically_generated = 1
constant (int32) rulebook_id = 2 __translation="rulebook_id_U3"
package for_rb _rulebook
@@ -5827,7 +5834,7 @@ package main _plain
constant (text) ^printed_name = "for starting the virtual machine rulebook"
constant ^run_fn = /main/basic_inform_by_graham_nelson/activities/activity1/for_rb/run_fn/call
constant (text) ^focus = "for starting the virtual machine rulebook"
- constant (int32) ^at = 31981
+ constant (int32) ^at = 31984
constant (int32) ^automatically_generated = 1
package entry1 _rulebook_entry
constant ^rule = /main/basic_inform_by_graham_nelson/rules/rule1/anchor
@@ -5845,13 +5852,13 @@ package main _plain
constant (text) ^printed_name = "after starting the virtual machine rulebook"
constant ^run_fn = /main/basic_inform_by_graham_nelson/activities/activity1/after_rb/run_fn/call
constant (text) ^focus = "after starting the virtual machine rulebook"
- constant (int32) ^at = 32032
+ constant (int32) ^at = 32035
constant (int32) ^automatically_generated = 1
constant (int32) rulebook_id = 4 __translation="rulebook_id_U5"
constant (int32) activity_id = 0 __translation="activity_id_U1"
constant V1_starting_the_virtual_mach = activity_id __translation="V1_starting_the_virtual_mach"
constant (text) ^name = "starting the virtual machine"
- constant (int32) ^at = 15835
+ constant (int32) ^at = 15838
constant ^before_rulebook = /main/basic_inform_by_graham_nelson/activities/activity1/before_rb/rulebook_id
constant ^for_rulebook = /main/basic_inform_by_graham_nelson/activities/activity1/for_rb/rulebook_id
constant ^after_rulebook = /main/basic_inform_by_graham_nelson/activities/activity1/after_rb/rulebook_id
@@ -5868,7 +5875,7 @@ package main _plain
constant (text) ^printed_name = "before printing the name rulebook"
constant ^run_fn = /main/basic_inform_by_graham_nelson/activities/activity2/before_rb/run_fn/call
constant (text) ^focus = "before printing the name rulebook"
- constant (int32) ^at = 32109
+ constant (int32) ^at = 32112
constant (int32) ^automatically_generated = 1
constant (int32) rulebook_id = 5 __translation="rulebook_id_U6"
package for_rb _rulebook
@@ -5914,7 +5921,7 @@ package main _plain
constant (text) ^printed_name = "for printing the name rulebook"
constant ^run_fn = /main/basic_inform_by_graham_nelson/activities/activity2/for_rb/run_fn/call
constant (text) ^focus = "for printing the name rulebook"
- constant (int32) ^at = 32151
+ constant (int32) ^at = 32154
constant (int32) ^automatically_generated = 1
package entry1 _rulebook_entry
constant ^rule = /main/basic_inform_by_graham_nelson/rules/rule2/anchor
@@ -5932,13 +5939,13 @@ package main _plain
constant (text) ^printed_name = "after printing the name rulebook"
constant ^run_fn = /main/basic_inform_by_graham_nelson/activities/activity2/after_rb/run_fn/call
constant (text) ^focus = "after printing the name rulebook"
- constant (int32) ^at = 32193
+ constant (int32) ^at = 32196
constant (int32) ^automatically_generated = 1
constant (int32) rulebook_id = 7 __translation="rulebook_id_U8"
constant (int32) activity_id = 1 __translation="activity_id_U2"
constant V2_printing_the_name = activity_id __translation="V2_printing_the_name"
constant (text) ^name = "printing the name"
- constant (int32) ^at = 15875
+ constant (int32) ^at = 15878
constant ^before_rulebook = /main/basic_inform_by_graham_nelson/activities/activity2/before_rb/rulebook_id
constant ^for_rulebook = /main/basic_inform_by_graham_nelson/activities/activity2/for_rb/rulebook_id
constant ^after_rulebook = /main/basic_inform_by_graham_nelson/activities/activity2/after_rb/rulebook_id
@@ -5955,7 +5962,7 @@ package main _plain
constant (text) ^printed_name = "before printing the plural name rulebook"
constant ^run_fn = /main/basic_inform_by_graham_nelson/activities/activity3/before_rb/run_fn/call
constant (text) ^focus = "before printing the plural name rulebook"
- constant (int32) ^at = 32266
+ constant (int32) ^at = 32269
constant (int32) ^automatically_generated = 1
constant (int32) rulebook_id = 8 __translation="rulebook_id_U9"
package for_rb _rulebook
@@ -6001,7 +6008,7 @@ package main _plain
constant (text) ^printed_name = "for printing the plural name rulebook"
constant ^run_fn = /main/basic_inform_by_graham_nelson/activities/activity3/for_rb/run_fn/call
constant (text) ^focus = "for printing the plural name rulebook"
- constant (int32) ^at = 32317
+ constant (int32) ^at = 32320
constant (int32) ^automatically_generated = 1
package entry1 _rulebook_entry
constant ^rule = /main/basic_inform_by_graham_nelson/rules/rule3/anchor
@@ -6019,13 +6026,13 @@ package main _plain
constant (text) ^printed_name = "after printing the plural name rulebook"
constant ^run_fn = /main/basic_inform_by_graham_nelson/activities/activity3/after_rb/run_fn/call
constant (text) ^focus = "after printing the plural name rulebook"
- constant (int32) ^at = 32368
+ constant (int32) ^at = 32371
constant (int32) ^automatically_generated = 1
constant (int32) rulebook_id = 10 __translation="rulebook_id_U11"
constant (int32) activity_id = 2 __translation="activity_id_U3"
constant V3_printing_the_plural_name = activity_id __translation="V3_printing_the_plural_name"
constant (text) ^name = "printing the plural name"
- constant (int32) ^at = 15918
+ constant (int32) ^at = 15921
constant ^before_rulebook = /main/basic_inform_by_graham_nelson/activities/activity3/before_rb/rulebook_id
constant ^for_rulebook = /main/basic_inform_by_graham_nelson/activities/activity3/for_rb/rulebook_id
constant ^after_rulebook = /main/basic_inform_by_graham_nelson/activities/activity3/after_rb/rulebook_id
@@ -6037,7 +6044,7 @@ package main _plain
package kinds _submodule
package kind1 _kind
constant (text) ^name = "natural language"
- constant (int32) ^at = 15767
+ constant (int32) ^at = 15770
typename K_natural_language = enum __translation="K_natural_language"
constant (int32) ^source_order = 14
constant (int32) kind_ref = 561 __translation="kind_ref_U38"
@@ -6198,19 +6205,19 @@ package main _plain
constant ^conformed_to = /main/generic/kinds/kind21/kind_ref
constant (text) ^brief_inferences = ""
constant (text) ^inferences = ""
- permission for K_natural_language to have P_adaptive_text_viewpoint
- propertyvalue P_adaptive_text_viewpoint of K_natural_language = /main/english_language_by_graham_nelson/instances/instance6/I_first_person_singular
+ permission for K_natural_language to have /main/english_language_by_graham_nelson/properties/property1/P_adaptive_text_viewpoint
+ propertyvalue /main/english_language_by_graham_nelson/properties/property1/P_adaptive_text_viewpoint of K_natural_language = /main/english_language_by_graham_nelson/instances/instance6/I_first_person_singular
package variables _submodule
package variable1 _variable
constant (text) ^name = "language of play"
- constant (int32) ^at = 15777
+ constant (int32) ^at = 15780
constant ^heading = /main/completion/basics/heading6/id
constant (int32) ^indexable = 1
constant (text) ^contents = "natural language"
variable (/main/basic_inform_by_graham_nelson/kinds/kind1/K_natural_language) V1_language_of_play = /main/basic_inform_by_graham_nelson/instances/instance3/I_english_language __translation="V1_language_of_play"
package variable2 _variable
constant (text) ^name = "parameter-object"
- constant (int32) ^at = 15789
+ constant (int32) ^at = 15792
constant ^heading = /main/completion/basics/heading6/id
constant (int32) ^indexable = 1
constant (text) ^contents = "object"
@@ -6416,8 +6423,8 @@ package main _plain
package phrase101 _to_phrase
package closure1 _closure
constant (/main/generic/kinds/kind29/K_list_of_values) closure_data = { /main/generic/kinds/derived_kind1/DK1_phrase_real_number____re, /main/BasicInformKit/functions/REAL_NUMBER_TY_Tanh_fn/REAL_NUMBER_TY_Tanh, "tanh function" } __translation="closure_data_U20"
- constant (int32) ^at = 14872
- constant (int32) ^included_at = 14776
+ constant (int32) ^at = 14875
+ constant (int32) ^included_at = 14779
constant (int32) ^auto_included = 1
constant (int32) ^standard = 1
package rules _submodule
@@ -6440,7 +6447,7 @@ package main _plain
package modal_verb1 _modal_verb
constant (text) ^name = "means (modal)"
constant (text) ^infinitive = "mean"
- constant (int32) ^at = 14891
+ constant (int32) ^at = 14894
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb2"
local fn
@@ -6573,7 +6580,7 @@ package main _plain
package modal_verb2 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 14901
+ constant (int32) ^at = 14904
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb3"
local fn
@@ -6814,7 +6821,7 @@ package main _plain
package modal_verb3 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 14911
+ constant (int32) ^at = 14914
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb4"
local fn
@@ -7055,7 +7062,7 @@ package main _plain
package modal_verb4 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 14921
+ constant (int32) ^at = 14924
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb5"
local fn
@@ -7296,7 +7303,7 @@ package main _plain
package modal_verb5 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 14941
+ constant (int32) ^at = 14944
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb6"
local fn
@@ -7537,7 +7544,7 @@ package main _plain
package modal_verb6 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 14951
+ constant (int32) ^at = 14954
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb7"
local fn
@@ -7778,7 +7785,7 @@ package main _plain
package modal_verb7 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 14961
+ constant (int32) ^at = 14964
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb8"
local fn
@@ -8019,7 +8026,7 @@ package main _plain
package modal_verb8 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 14971
+ constant (int32) ^at = 14974
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb9"
local fn
@@ -8260,7 +8267,7 @@ package main _plain
package modal_verb9 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 15001
+ constant (int32) ^at = 15004
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb10"
local fn
@@ -8501,7 +8508,7 @@ package main _plain
package modal_verb10 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 15021
+ constant (int32) ^at = 15024
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb11"
local fn
@@ -8748,7 +8755,7 @@ package main _plain
constant (text) ^past = "A implied B"
constant (text) ^present_perfect = "A has implied B; A have implied B"
constant (text) ^past_perfect = "A had implied B"
- constant (int32) ^at = 15031
+ constant (int32) ^at = 15034
package conjugation_fn _function
package call _code __translation="ConjugateVerb4"
local fn
@@ -8913,7 +8920,7 @@ package main _plain
package modal_verb11 _modal_verb
constant (text) ^name = "implies (modal)"
constant (text) ^infinitive = "imply"
- constant (int32) ^at = 15041
+ constant (int32) ^at = 15044
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb12"
local fn
@@ -9051,7 +9058,7 @@ package main _plain
constant (text) ^past = "A could be B; B could be been by A"
constant (text) ^present_perfect = "A has been able to be B; A have been able to be B; B has been able to be been by A; B have been able to be been by A"
constant (text) ^past_perfect = "A had been able to be B; B had been able to be been by A"
- constant (int32) ^at = 15051
+ constant (int32) ^at = 15054
package conjugation_fn _function
package call _code __translation="ConjugateVerb5"
local fn
@@ -9226,7 +9233,7 @@ package main _plain
constant (text) ^past = "A could B"
constant (text) ^present_perfect = "A has been able to B; A have been able to B"
constant (text) ^past_perfect = "A had been able to B"
- constant (int32) ^at = 15051
+ constant (int32) ^at = 15054
package conjugation_fn _function
package call _code __translation="ConjugateVerb6"
local fn
@@ -10155,7 +10162,7 @@ package main _plain
constant (text) ^past = "A had B"
constant (text) ^present_perfect = "A has had B; A have had B"
constant (text) ^past_perfect = "A had had B"
- constant (int32) ^at = 15065
+ constant (int32) ^at = 15068
package conjugation_fn _function
package call _code __translation="ConjugateVerb7"
local fn
@@ -10325,7 +10332,7 @@ package main _plain
constant (text) ^past = "A specified B"
constant (text) ^present_perfect = "A has specified B; A have specified B"
constant (text) ^past_perfect = "A had specified B"
- constant (int32) ^at = 15075
+ constant (int32) ^at = 15078
package conjugation_fn _function
package call _code __translation="ConjugateVerb8"
local fn
@@ -10496,7 +10503,7 @@ package main _plain
constant (text) ^past = "A related B"
constant (text) ^present_perfect = "A has related B; A have related B"
constant (text) ^past_perfect = "A had related B"
- constant (int32) ^at = 15086
+ constant (int32) ^at = 15089
package conjugation_fn _function
package call _code __translation="ConjugateVerb9"
local fn
@@ -10661,7 +10668,7 @@ package main _plain
package modal_verb12 _modal_verb
constant (text) ^name = "relates (modal)"
constant (text) ^infinitive = "relate"
- constant (int32) ^at = 15096
+ constant (int32) ^at = 15099
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb13"
local fn
@@ -10799,7 +10806,7 @@ package main _plain
constant (text) ^past = "A substituted B"
constant (text) ^present_perfect = "A has substituted B; A have substituted B"
constant (text) ^past_perfect = "A had substituted B"
- constant (int32) ^at = 15106
+ constant (int32) ^at = 15109
package conjugation_fn _function
package call _code __translation="ConjugateVerb10"
local fn
@@ -10998,7 +11005,7 @@ package main _plain
package modal_verb13 _modal_verb
constant (text) ^name = "does (modal)"
constant (text) ^infinitive = "do"
- constant (int32) ^at = 15118
+ constant (int32) ^at = 15121
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb14"
local fn
@@ -11131,7 +11138,7 @@ package main _plain
package modal_verb14 _modal_verb
constant (text) ^name = "does (modal)"
constant (text) ^infinitive = "do"
- constant (int32) ^at = 15128
+ constant (int32) ^at = 15131
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb15"
local fn
@@ -11264,7 +11271,7 @@ package main _plain
package modal_verb15 _modal_verb
constant (text) ^name = "does (modal)"
constant (text) ^infinitive = "do"
- constant (int32) ^at = 15140
+ constant (int32) ^at = 15143
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb16"
local fn
@@ -11397,7 +11404,7 @@ package main _plain
package modal_verb16 _modal_verb
constant (text) ^name = "does (modal)"
constant (text) ^infinitive = "do"
- constant (int32) ^at = 15152
+ constant (int32) ^at = 15155
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb17"
local fn
@@ -11535,7 +11542,7 @@ package main _plain
constant (text) ^past = "A translated B"
constant (text) ^present_perfect = "A has translated B; A have translated B"
constant (text) ^past_perfect = "A had translated B"
- constant (int32) ^at = 15165
+ constant (int32) ^at = 15168
package conjugation_fn _function
package call _code __translation="ConjugateVerb11"
local fn
@@ -11768,7 +11775,7 @@ package main _plain
package modal_verb17 _modal_verb
constant (text) ^name = "translates (modal)"
constant (text) ^infinitive = "translate"
- constant (int32) ^at = 15178
+ constant (int32) ^at = 15181
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb18"
local fn
@@ -11901,7 +11908,7 @@ package main _plain
package modal_verb18 _modal_verb
constant (text) ^name = "translates (modal)"
constant (text) ^infinitive = "translate"
- constant (int32) ^at = 15191
+ constant (int32) ^at = 15194
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb19"
local fn
@@ -12034,7 +12041,7 @@ package main _plain
package modal_verb19 _modal_verb
constant (text) ^name = "translates (modal)"
constant (text) ^infinitive = "translate"
- constant (int32) ^at = 15205
+ constant (int32) ^at = 15208
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb20"
local fn
@@ -12173,7 +12180,7 @@ package main _plain
constant (text) ^past = "A provided B"
constant (text) ^present_perfect = "A has provided B; A have provided B"
constant (text) ^past_perfect = "A had provided B"
- constant (int32) ^at = 15217
+ constant (int32) ^at = 15220
package conjugation_fn _function
package call _code __translation="ConjugateVerb12"
local fn
@@ -12343,7 +12350,7 @@ package main _plain
constant (text) ^past = "A used B"
constant (text) ^present_perfect = "A has used B; A have used B"
constant (text) ^past_perfect = "A had used B"
- constant (int32) ^at = 15227
+ constant (int32) ^at = 15230
package conjugation_fn _function
package call _code __translation="ConjugateVerb13"
local fn
@@ -12513,7 +12520,7 @@ package main _plain
constant (text) ^past = "A included B"
constant (text) ^present_perfect = "A has included B; A have included B"
constant (text) ^past_perfect = "A had included B"
- constant (int32) ^at = 15240
+ constant (int32) ^at = 15243
package conjugation_fn _function
package call _code __translation="ConjugateVerb14"
local fn
@@ -12715,7 +12722,7 @@ package main _plain
constant (text) ^past = "A omitted B"
constant (text) ^present_perfect = "A has omitted B; A have omitted B"
constant (text) ^past_perfect = "A had omitted B"
- constant (int32) ^at = 15255
+ constant (int32) ^at = 15258
package conjugation_fn _function
package call _code __translation="ConjugateVerb15"
local fn
@@ -12917,7 +12924,7 @@ package main _plain
constant (text) ^past = "A tested B"
constant (text) ^present_perfect = "A has tested B; A have tested B"
constant (text) ^past_perfect = "A had tested B"
- constant (int32) ^at = 15270
+ constant (int32) ^at = 15273
package conjugation_fn _function
package call _code __translation="ConjugateVerb16"
local fn
@@ -13114,7 +13121,7 @@ package main _plain
package modal_verb20 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 15286
+ constant (int32) ^at = 15289
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb21"
local fn
@@ -13355,7 +13362,7 @@ package main _plain
package modal_verb21 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 15297
+ constant (int32) ^at = 15300
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb22"
local fn
@@ -13596,7 +13603,7 @@ package main _plain
package modal_verb22 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 15308
+ constant (int32) ^at = 15311
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb23"
local fn
@@ -13837,7 +13844,7 @@ package main _plain
package modal_verb23 _modal_verb
constant (text) ^name = "is (modal)"
constant (text) ^infinitive = "be"
- constant (int32) ^at = 15319
+ constant (int32) ^at = 15322
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb24"
local fn
@@ -14077,149 +14084,149 @@ package main _plain
val "will not be"
package preposition1 _preposition
constant (text) ^text = "implied by"
- constant (int32) ^at = 15031
+ constant (int32) ^at = 15034
package preposition2 _preposition
constant (text) ^text = "implying"
- constant (int32) ^at = 15031
+ constant (int32) ^at = 15034
package preposition3 _preposition
constant (text) ^text = "being able to be"
- constant (int32) ^at = 15051
+ constant (int32) ^at = 15054
package preposition4 _preposition
constant (text) ^text = "had by"
- constant (int32) ^at = 15065
+ constant (int32) ^at = 15068
package preposition5 _preposition
constant (text) ^text = "having"
- constant (int32) ^at = 15065
+ constant (int32) ^at = 15068
package preposition6 _preposition
constant (text) ^text = "specified by"
- constant (int32) ^at = 15075
+ constant (int32) ^at = 15078
package preposition7 _preposition
constant (text) ^text = "specifying"
- constant (int32) ^at = 15075
+ constant (int32) ^at = 15078
package preposition8 _preposition
constant (text) ^text = "related by"
- constant (int32) ^at = 15086
+ constant (int32) ^at = 15089
package preposition9 _preposition
constant (text) ^text = "relating"
- constant (int32) ^at = 15086
+ constant (int32) ^at = 15089
package preposition10 _preposition
constant (text) ^text = "substituted by"
- constant (int32) ^at = 15106
+ constant (int32) ^at = 15109
package preposition11 _preposition
constant (text) ^text = "substituting"
- constant (int32) ^at = 15106
+ constant (int32) ^at = 15109
package preposition12 _preposition
constant (text) ^text = "for"
- constant (int32) ^at = 15106
+ constant (int32) ^at = 15109
package preposition13 _preposition
constant (text) ^text = "done by"
- constant (int32) ^at = 15118
+ constant (int32) ^at = 15121
package preposition14 _preposition
constant (text) ^text = "doing"
- constant (int32) ^at = 15118
+ constant (int32) ^at = 15121
package preposition15 _preposition
constant (text) ^text = "if"
- constant (int32) ^at = 15128
+ constant (int32) ^at = 15131
package preposition16 _preposition
constant (text) ^text = "when"
- constant (int32) ^at = 15140
+ constant (int32) ^at = 15143
package preposition17 _preposition
constant (text) ^text = "unless"
- constant (int32) ^at = 15152
+ constant (int32) ^at = 15155
package preposition18 _preposition
constant (text) ^text = "translated by"
- constant (int32) ^at = 15165
+ constant (int32) ^at = 15168
package preposition19 _preposition
constant (text) ^text = "translating"
- constant (int32) ^at = 15165
+ constant (int32) ^at = 15168
package preposition20 _preposition
constant (text) ^text = "into"
- constant (int32) ^at = 15165
+ constant (int32) ^at = 15168
package preposition21 _preposition
constant (text) ^text = "as"
- constant (int32) ^at = 15165
+ constant (int32) ^at = 15168
package preposition22 _preposition
constant (text) ^text = "provided by"
- constant (int32) ^at = 15217
+ constant (int32) ^at = 15220
package preposition23 _preposition
constant (text) ^text = "providing"
- constant (int32) ^at = 15217
+ constant (int32) ^at = 15220
package preposition24 _preposition
constant (text) ^text = "used by"
- constant (int32) ^at = 15227
+ constant (int32) ^at = 15230
package preposition25 _preposition
constant (text) ^text = "using"
- constant (int32) ^at = 15227
+ constant (int32) ^at = 15230
package preposition26 _preposition
constant (text) ^text = "included by"
- constant (int32) ^at = 15240
+ constant (int32) ^at = 15243
package preposition27 _preposition
constant (text) ^text = "including"
- constant (int32) ^at = 15240
+ constant (int32) ^at = 15243
package preposition28 _preposition
constant (text) ^text = "in"
- constant (int32) ^at = 15240
+ constant (int32) ^at = 15243
package preposition29 _preposition
constant (text) ^text = "omitted by"
- constant (int32) ^at = 15255
+ constant (int32) ^at = 15258
package preposition30 _preposition
constant (text) ^text = "omitting"
- constant (int32) ^at = 15255
+ constant (int32) ^at = 15258
package preposition31 _preposition
constant (text) ^text = "from"
- constant (int32) ^at = 15255
+ constant (int32) ^at = 15258
package preposition32 _preposition
constant (text) ^text = "tested by"
- constant (int32) ^at = 15270
+ constant (int32) ^at = 15273
package preposition33 _preposition
constant (text) ^text = "testing"
- constant (int32) ^at = 15270
+ constant (int32) ^at = 15273
package preposition34 _preposition
constant (text) ^text = "with"
- constant (int32) ^at = 15270
+ constant (int32) ^at = 15273
package preposition35 _preposition
constant (text) ^text = "greater than"
- constant (int32) ^at = 15286
+ constant (int32) ^at = 15289
package preposition36 _preposition
constant (text) ^text = "less than"
- constant (int32) ^at = 15297
+ constant (int32) ^at = 15300
package preposition37 _preposition
constant (text) ^text = "at least"
- constant (int32) ^at = 15308
+ constant (int32) ^at = 15311
package preposition38 _preposition
constant (text) ^text = "at most"
- constant (int32) ^at = 15319
+ constant (int32) ^at = 15322
package relations _submodule
package relation1 _relation
constant (int32) relation_id = 0 __translation="relation_id_U32"
constant (text) ^term0 = "object"
constant (text) ^term1 = "value"
- constant (int32) ^at = 15613
+ constant (int32) ^at = 15616
package relation2 _relation
constant (int32) relation_id = 1 __translation="relation_id_U33"
constant (text) ^term0 = "object"
constant (text) ^term1 = "text"
- constant (int32) ^at = 15624
+ constant (int32) ^at = 15627
package relation3 _relation
constant (int32) relation_id = 2 __translation="relation_id_U34"
constant (text) ^term0 = "object"
constant (text) ^term1 = "text"
- constant (int32) ^at = 15632
+ constant (int32) ^at = 15635
package relation4 _relation
constant (int32) relation_id = 3 __translation="relation_id_U35"
constant (text) ^term0 = "object"
constant (text) ^term1 = "--"
- constant (int32) ^at = 15642
+ constant (int32) ^at = 15645
package relation5 _relation
constant (int32) relation_id = 4 __translation="relation_id_U36"
constant (text) ^term0 = "object"
constant (text) ^term1 = "--"
- constant (int32) ^at = 15651
+ constant (int32) ^at = 15654
package relation6 _relation
constant (int32) relation_id = 5 __translation="relation_id_U37"
constant (text) ^term0 = "object"
constant (text) ^term1 = "--"
- constant (int32) ^at = 15661
+ constant (int32) ^at = 15664
package english_language_by_graham_nelson _module
constant (int32) ^category = 2
constant (text) ^author = "Graham Nelson"
@@ -14234,8 +14241,8 @@ package main _plain
constant (text) ^name = "present tense"
constant (text) ^printed_name = "present tense"
constant (text) ^abbreviation = "PT"
- constant (int32) ^at = 25352
- constant (int32) ^kind_set_at = 25352
+ constant (int32) ^at = 25355
+ constant (int32) ^kind_set_at = 25355
constant ^value = I_present_tense
constant (text) ^index_kind = "grammatical tense"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > grammatical tense"
@@ -14244,14 +14251,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_grammatical_tense) I_present_tense = 1 __translation="I_present_tense_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind1/K_grammatical_tense) I_present_tense = 1 __translation="I_present_tense_U1"
constant (int32) ^declaration_order = 6
package instance2 _instance
constant (text) ^name = "past tense"
constant (text) ^printed_name = "past tense"
constant (text) ^abbreviation = "PT"
- constant (int32) ^at = 25352
- constant (int32) ^kind_set_at = 25352
+ constant (int32) ^at = 25355
+ constant (int32) ^kind_set_at = 25355
constant ^value = I_past_tense
constant (text) ^index_kind = "grammatical tense"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > grammatical tense"
@@ -14260,14 +14267,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_grammatical_tense) I_past_tense = 2 __translation="I_past_tense_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind1/K_grammatical_tense) I_past_tense = 2 __translation="I_past_tense_U1"
constant (int32) ^declaration_order = 7
package instance3 _instance
constant (text) ^name = "perfect tense"
constant (text) ^printed_name = "perfect tense"
constant (text) ^abbreviation = "PT"
- constant (int32) ^at = 25352
- constant (int32) ^kind_set_at = 25352
+ constant (int32) ^at = 25355
+ constant (int32) ^kind_set_at = 25355
constant ^value = I_perfect_tense
constant (text) ^index_kind = "grammatical tense"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > grammatical tense"
@@ -14276,14 +14283,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_grammatical_tense) I_perfect_tense = 3 __translation="I_perfect_tense_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind1/K_grammatical_tense) I_perfect_tense = 3 __translation="I_perfect_tense_U1"
constant (int32) ^declaration_order = 8
package instance4 _instance
constant (text) ^name = "past perfect tense"
constant (text) ^printed_name = "past perfect tense"
constant (text) ^abbreviation = "PP"
- constant (int32) ^at = 25352
- constant (int32) ^kind_set_at = 25352
+ constant (int32) ^at = 25355
+ constant (int32) ^kind_set_at = 25355
constant ^value = I_past_perfect_tense
constant (text) ^index_kind = "grammatical tense"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > grammatical tense"
@@ -14292,14 +14299,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_grammatical_tense) I_past_perfect_tense = 4 __translation="I_past_perfect_tense_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind1/K_grammatical_tense) I_past_perfect_tense = 4 __translation="I_past_perfect_tense_U1"
constant (int32) ^declaration_order = 9
package instance5 _instance
constant (text) ^name = "future tense"
constant (text) ^printed_name = "future tense"
constant (text) ^abbreviation = "FT"
- constant (int32) ^at = 25352
- constant (int32) ^kind_set_at = 25352
+ constant (int32) ^at = 25355
+ constant (int32) ^kind_set_at = 25355
constant ^value = I_future_tense
constant (text) ^index_kind = "grammatical tense"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > grammatical tense"
@@ -14308,14 +14315,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_grammatical_tense) I_future_tense = 5 __translation="I_future_tense_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind1/K_grammatical_tense) I_future_tense = 5 __translation="I_future_tense_U1"
constant (int32) ^declaration_order = 10
package instance6 _instance
constant (text) ^name = "first person singular"
constant (text) ^printed_name = "first person singular"
constant (text) ^abbreviation = "FP"
- constant (int32) ^at = 25382
- constant (int32) ^kind_set_at = 25382
+ constant (int32) ^at = 25385
+ constant (int32) ^kind_set_at = 25385
constant ^value = I_first_person_singular
constant (text) ^index_kind = "narrative viewpoint"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > narrative viewpoint"
@@ -14324,14 +14331,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_narrative_viewpoint) I_first_person_singular = 1 __translation="I_first_person_singular_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind2/K_narrative_viewpoint) I_first_person_singular = 1 __translation="I_first_person_singular_U1"
constant (int32) ^declaration_order = 11
package instance7 _instance
constant (text) ^name = "second person singular"
constant (text) ^printed_name = "second person singular"
constant (text) ^abbreviation = "SP"
- constant (int32) ^at = 25382
- constant (int32) ^kind_set_at = 25382
+ constant (int32) ^at = 25385
+ constant (int32) ^kind_set_at = 25385
constant ^value = I_second_person_singular
constant (text) ^index_kind = "narrative viewpoint"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > narrative viewpoint"
@@ -14340,14 +14347,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_narrative_viewpoint) I_second_person_singular = 2 __translation="I_second_person_singular_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind2/K_narrative_viewpoint) I_second_person_singular = 2 __translation="I_second_person_singular_U1"
constant (int32) ^declaration_order = 12
package instance8 _instance
constant (text) ^name = "third person singular"
constant (text) ^printed_name = "third person singular"
constant (text) ^abbreviation = "TP"
- constant (int32) ^at = 25382
- constant (int32) ^kind_set_at = 25382
+ constant (int32) ^at = 25385
+ constant (int32) ^kind_set_at = 25385
constant ^value = I_third_person_singular
constant (text) ^index_kind = "narrative viewpoint"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > narrative viewpoint"
@@ -14356,14 +14363,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_narrative_viewpoint) I_third_person_singular = 3 __translation="I_third_person_singular_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind2/K_narrative_viewpoint) I_third_person_singular = 3 __translation="I_third_person_singular_U1"
constant (int32) ^declaration_order = 13
package instance9 _instance
constant (text) ^name = "first person plural"
constant (text) ^printed_name = "first person plural"
constant (text) ^abbreviation = "FP"
- constant (int32) ^at = 25382
- constant (int32) ^kind_set_at = 25382
+ constant (int32) ^at = 25385
+ constant (int32) ^kind_set_at = 25385
constant ^value = I_first_person_plural
constant (text) ^index_kind = "narrative viewpoint"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > narrative viewpoint"
@@ -14372,14 +14379,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_narrative_viewpoint) I_first_person_plural = 4 __translation="I_first_person_plural_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind2/K_narrative_viewpoint) I_first_person_plural = 4 __translation="I_first_person_plural_U1"
constant (int32) ^declaration_order = 14
package instance10 _instance
constant (text) ^name = "second person plural"
constant (text) ^printed_name = "second person plural"
constant (text) ^abbreviation = "SP"
- constant (int32) ^at = 25382
- constant (int32) ^kind_set_at = 25382
+ constant (int32) ^at = 25385
+ constant (int32) ^kind_set_at = 25385
constant ^value = I_second_person_plural
constant (text) ^index_kind = "narrative viewpoint"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > narrative viewpoint"
@@ -14388,14 +14395,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_narrative_viewpoint) I_second_person_plural = 5 __translation="I_second_person_plural_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind2/K_narrative_viewpoint) I_second_person_plural = 5 __translation="I_second_person_plural_U1"
constant (int32) ^declaration_order = 15
package instance11 _instance
constant (text) ^name = "third person plural"
constant (text) ^printed_name = "third person plural"
constant (text) ^abbreviation = "TP"
- constant (int32) ^at = 25382
- constant (int32) ^kind_set_at = 25382
+ constant (int32) ^at = 25385
+ constant (int32) ^kind_set_at = 25385
constant ^value = I_third_person_plural
constant (text) ^index_kind = "narrative viewpoint"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > narrative viewpoint"
@@ -14404,14 +14411,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_narrative_viewpoint) I_third_person_plural = 6 __translation="I_third_person_plural_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind2/K_narrative_viewpoint) I_third_person_plural = 6 __translation="I_third_person_plural_U1"
constant (int32) ^declaration_order = 16
package instance12 _instance
constant (text) ^name = "nominative"
constant (text) ^printed_name = "nominative"
constant (text) ^abbreviation = "Nm"
- constant (int32) ^at = 25449
- constant (int32) ^kind_set_at = 25449
+ constant (int32) ^at = 25452
+ constant (int32) ^kind_set_at = 25452
constant ^value = I_nominative
constant (text) ^index_kind = "grammatical case"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > grammatical case"
@@ -14420,14 +14427,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_grammatical_case) I_nominative = 1 __translation="I_nominative_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind3/K_grammatical_case) I_nominative = 1 __translation="I_nominative_U1"
constant (int32) ^declaration_order = 17
package instance13 _instance
constant (text) ^name = "accusative"
constant (text) ^printed_name = "accusative"
constant (text) ^abbreviation = "Ac"
- constant (int32) ^at = 25449
- constant (int32) ^kind_set_at = 25449
+ constant (int32) ^at = 25452
+ constant (int32) ^kind_set_at = 25452
constant ^value = I_accusative
constant (text) ^index_kind = "grammatical case"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > grammatical case"
@@ -14436,14 +14443,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_grammatical_case) I_accusative = 2 __translation="I_accusative_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind3/K_grammatical_case) I_accusative = 2 __translation="I_accusative_U1"
constant (int32) ^declaration_order = 18
package instance14 _instance
constant (text) ^name = "neuter gender"
constant (text) ^printed_name = "neuter gender"
constant (text) ^abbreviation = "NG"
- constant (int32) ^at = 25467
- constant (int32) ^kind_set_at = 25467
+ constant (int32) ^at = 25470
+ constant (int32) ^kind_set_at = 25470
constant ^value = I_neuter_gender
constant (text) ^index_kind = "grammatical gender"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > grammatical gender"
@@ -14452,14 +14459,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_grammatical_gender) I_neuter_gender = 1 __translation="I_neuter_gender_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind4/K_grammatical_gender) I_neuter_gender = 1 __translation="I_neuter_gender_U1"
constant (int32) ^declaration_order = 19
package instance15 _instance
constant (text) ^name = "masculine gender"
constant (text) ^printed_name = "masculine gender"
constant (text) ^abbreviation = "MG"
- constant (int32) ^at = 25467
- constant (int32) ^kind_set_at = 25467
+ constant (int32) ^at = 25470
+ constant (int32) ^kind_set_at = 25470
constant ^value = I_masculine_gender
constant (text) ^index_kind = "grammatical gender"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > grammatical gender"
@@ -14468,14 +14475,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_grammatical_gender) I_masculine_gender = 2 __translation="I_masculine_gender_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind4/K_grammatical_gender) I_masculine_gender = 2 __translation="I_masculine_gender_U1"
constant (int32) ^declaration_order = 20
package instance16 _instance
constant (text) ^name = "feminine gender"
constant (text) ^printed_name = "feminine gender"
constant (text) ^abbreviation = "FG"
- constant (int32) ^at = 25467
- constant (int32) ^kind_set_at = 25467
+ constant (int32) ^at = 25470
+ constant (int32) ^kind_set_at = 25470
constant ^value = I_feminine_gender
constant (text) ^index_kind = "grammatical gender"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > grammatical gender"
@@ -14484,12 +14491,12 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_grammatical_gender) I_feminine_gender = 3 __translation="I_feminine_gender_U1"
+ instance (/main/english_language_by_graham_nelson/kinds/kind4/K_grammatical_gender) I_feminine_gender = 3 __translation="I_feminine_gender_U1"
constant (int32) ^declaration_order = 21
package kinds _submodule
package kind1 _kind
constant (text) ^name = "grammatical tense"
- constant (int32) ^at = 25343
+ constant (int32) ^at = 25346
typename K_grammatical_tense = enum __translation="K_grammatical_tense"
constant (int32) ^source_order = 15
constant (int32) kind_ref = 561 __translation="kind_ref_U39"
@@ -14647,7 +14654,7 @@ package main _plain
constant (text) ^inferences = ""
package kind2 _kind
constant (text) ^name = "narrative viewpoint"
- constant (int32) ^at = 25373
+ constant (int32) ^at = 25376
typename K_narrative_viewpoint = enum __translation="K_narrative_viewpoint"
constant (int32) ^source_order = 16
constant (int32) kind_ref = 561 __translation="kind_ref_U40"
@@ -14810,7 +14817,7 @@ package main _plain
constant (text) ^inferences = ""
package kind3 _kind
constant (text) ^name = "grammatical case"
- constant (int32) ^at = 25440
+ constant (int32) ^at = 25443
typename K_grammatical_case = enum __translation="K_grammatical_case"
constant (int32) ^source_order = 17
constant (int32) kind_ref = 561 __translation="kind_ref_U41"
@@ -14951,7 +14958,7 @@ package main _plain
constant (text) ^inferences = ""
package kind4 _kind
constant (text) ^name = "grammatical gender"
- constant (int32) ^at = 25458
+ constant (int32) ^at = 25461
typename K_grammatical_gender = enum __translation="K_grammatical_gender"
constant (int32) ^source_order = 18
constant (int32) kind_ref = 561 __translation="kind_ref_U42"
@@ -15106,26 +15113,26 @@ package main _plain
package variables _submodule
package variable1 _variable
constant (text) ^name = "story tense"
- constant (int32) ^at = 25482
+ constant (int32) ^at = 25485
constant ^heading = /main/completion/basics/heading69/id
constant (int32) ^indexable = 1
constant (text) ^contents = "grammatical tense"
constant ^counterpart = /main/BasicInformKit/variables/story_tense_var/story_tense
package variable2 _variable
constant (text) ^name = "story viewpoint"
- constant (int32) ^at = 25502
+ constant (int32) ^at = 25505
constant ^heading = /main/completion/basics/heading69/id
constant (int32) ^indexable = 1
constant (text) ^contents = "narrative viewpoint"
constant ^counterpart = /main/BasicInformKit/variables/story_viewpoint_var/story_viewpoint
- constant (int32) ^at = 25140
- constant (int32) ^included_at = 14784
+ constant (int32) ^at = 25143
+ constant (int32) ^included_at = 14787
constant (int32) ^auto_included = 1
package conjugations _submodule
package modal_verb1 _modal_verb
constant (text) ^name = "can (modal)"
constant (text) ^infinitive = "be able to"
- constant (int32) ^at = 25167
+ constant (int32) ^at = 25170
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb25"
local fn
@@ -16020,7 +16027,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A could B"
constant (text) ^present_perfect = "A could have B"
- constant (int32) ^at = 25175
+ constant (int32) ^at = 25178
package conjugation_fn _function
package call _code __translation="ConjugateVerb17"
local fn
@@ -16947,7 +16954,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A may B"
constant (text) ^present_perfect = "A may have B"
- constant (int32) ^at = 25181
+ constant (int32) ^at = 25184
package conjugation_fn _function
package call _code __translation="ConjugateVerb18"
local fn
@@ -17874,7 +17881,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A might B"
constant (text) ^present_perfect = "A might have B"
- constant (int32) ^at = 25187
+ constant (int32) ^at = 25190
package conjugation_fn _function
package call _code __translation="ConjugateVerb19"
local fn
@@ -18801,7 +18808,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A must B"
constant (text) ^present_perfect = "A must have B"
- constant (int32) ^at = 25193
+ constant (int32) ^at = 25196
package conjugation_fn _function
package call _code __translation="ConjugateVerb20"
local fn
@@ -19728,7 +19735,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A should B"
constant (text) ^present_perfect = "A should have B"
- constant (int32) ^at = 25199
+ constant (int32) ^at = 25202
package conjugation_fn _function
package call _code __translation="ConjugateVerb21"
local fn
@@ -20655,7 +20662,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A would B"
constant (text) ^present_perfect = "A would have B"
- constant (int32) ^at = 25205
+ constant (int32) ^at = 25208
package conjugation_fn _function
package call _code __translation="ConjugateVerb22"
local fn
@@ -21584,7 +21591,7 @@ package main _plain
constant (text) ^past = "A was B; A were B"
constant (text) ^present_perfect = "A 's been B; A 've been B"
constant (text) ^past_perfect = "A 'd been B"
- constant (int32) ^at = 25212
+ constant (int32) ^at = 25215
package conjugation_fn _function
package call _code __translation="ConjugateVerb23"
local fn
@@ -21831,7 +21838,7 @@ package main _plain
constant (text) ^past = "A had B"
constant (text) ^present_perfect = "A 's had B; A 've had B"
constant (text) ^past_perfect = "A 'd had B"
- constant (int32) ^at = 25218
+ constant (int32) ^at = 25221
package conjugation_fn _function
package call _code __translation="ConjugateVerb24"
local fn
@@ -21970,7 +21977,7 @@ package main _plain
constant (text) ^past = "A wasn't B; A weren't B"
constant (text) ^present_perfect = "A hasn't been B; A haven't been B"
constant (text) ^past_perfect = "A hadn't been B"
- constant (int32) ^at = 25224
+ constant (int32) ^at = 25227
package conjugation_fn _function
package call _code __translation="ConjugateVerb25"
local fn
@@ -22122,7 +22129,7 @@ package main _plain
constant (text) ^past = "A couldn't B"
constant (text) ^present_perfect = "A hasn't been able to B; A haven't been able to B"
constant (text) ^past_perfect = "A hadn't been able to B"
- constant (int32) ^at = 25230
+ constant (int32) ^at = 25233
package conjugation_fn _function
package call _code __translation="ConjugateVerb26"
local fn
@@ -22597,7 +22604,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A hasn't B; A haven't B"
constant (text) ^present_perfect = "A hadn't B"
- constant (int32) ^at = 25230
+ constant (int32) ^at = 25233
package conjugation_fn _function
package call _code __translation="ConjugateVerb27"
local fn
@@ -23072,7 +23079,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A doesn't B; A don't B"
constant (text) ^present_perfect = "A didn't B"
- constant (int32) ^at = 25236
+ constant (int32) ^at = 25239
package conjugation_fn _function
package call _code __translation="ConjugateVerb28"
local fn
@@ -23543,7 +23550,7 @@ package main _plain
package modal_verb2 _modal_verb
constant (text) ^name = "hasn't (modal)"
constant (text) ^infinitive = "haven't"
- constant (int32) ^at = 25242
+ constant (int32) ^at = 25245
package conjugation_fn _function
package call _code __translation="ConjugateModalVerb26"
local fn
@@ -24018,7 +24025,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A mustn't B"
constant (text) ^present_perfect = "A mustn't have B"
- constant (int32) ^at = 25248
+ constant (int32) ^at = 25251
package conjugation_fn _function
package call _code __translation="ConjugateVerb29"
local fn
@@ -24493,7 +24500,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A mightn't B"
constant (text) ^present_perfect = "A mightn't have B"
- constant (int32) ^at = 25254
+ constant (int32) ^at = 25257
package conjugation_fn _function
package call _code __translation="ConjugateVerb30"
local fn
@@ -24968,7 +24975,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A mayn't B"
constant (text) ^present_perfect = "A mayn't have B"
- constant (int32) ^at = 25260
+ constant (int32) ^at = 25263
package conjugation_fn _function
package call _code __translation="ConjugateVerb31"
local fn
@@ -25443,7 +25450,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A wouldn't B"
constant (text) ^present_perfect = "A wouldn't have B"
- constant (int32) ^at = 25266
+ constant (int32) ^at = 25269
package conjugation_fn _function
package call _code __translation="ConjugateVerb32"
local fn
@@ -25918,7 +25925,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A couldn't B"
constant (text) ^present_perfect = "A couldn't have B"
- constant (int32) ^at = 25272
+ constant (int32) ^at = 25275
package conjugation_fn _function
package call _code __translation="ConjugateVerb33"
local fn
@@ -26393,7 +26400,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A shouldn't B"
constant (text) ^present_perfect = "A shouldn't have B"
- constant (int32) ^at = 25278
+ constant (int32) ^at = 25281
package conjugation_fn _function
package call _code __translation="ConjugateVerb34"
local fn
@@ -26868,7 +26875,7 @@ package main _plain
constant (text) ^meaning = "
"
constant (text) ^present = "A won't B"
constant (text) ^present_perfect = "A wouldn't B"
- constant (int32) ^at = 25284
+ constant (int32) ^at = 25287
package conjugation_fn _function
package call _code __translation="ConjugateVerb35"
local fn
@@ -27338,67 +27345,67 @@ package main _plain
code
package preposition1 _preposition
constant (text) ^text = "being able to"
- constant (int32) ^at = 25167
+ constant (int32) ^at = 25170
package preposition2 _preposition
constant (text) ^text = "coulding"
- constant (int32) ^at = 25175
+ constant (int32) ^at = 25178
package preposition3 _preposition
constant (text) ^text = "maying"
- constant (int32) ^at = 25181
+ constant (int32) ^at = 25184
package preposition4 _preposition
constant (text) ^text = "mighting"
- constant (int32) ^at = 25187
+ constant (int32) ^at = 25190
package preposition5 _preposition
constant (text) ^text = "musting"
- constant (int32) ^at = 25193
+ constant (int32) ^at = 25196
package preposition6 _preposition
constant (text) ^text = "shoulding"
- constant (int32) ^at = 25199
+ constant (int32) ^at = 25202
package preposition7 _preposition
constant (text) ^text = "woulding"
- constant (int32) ^at = 25205
+ constant (int32) ^at = 25208
package preposition8 _preposition
constant (text) ^text = "being"
- constant (int32) ^at = 25212
+ constant (int32) ^at = 25215
package preposition9 _preposition
constant (text) ^text = "aren'ting"
- constant (int32) ^at = 25224
+ constant (int32) ^at = 25227
package preposition10 _preposition
constant (text) ^text = "can'ting"
- constant (int32) ^at = 25230
+ constant (int32) ^at = 25233
package preposition11 _preposition
constant (text) ^text = "don'ting"
- constant (int32) ^at = 25236
+ constant (int32) ^at = 25239
package preposition12 _preposition
constant (text) ^text = "haven'ting"
- constant (int32) ^at = 25242
+ constant (int32) ^at = 25245
package preposition13 _preposition
constant (text) ^text = "mustn'ting"
- constant (int32) ^at = 25248
+ constant (int32) ^at = 25251
package preposition14 _preposition
constant (text) ^text = "mightn'ting"
- constant (int32) ^at = 25254
+ constant (int32) ^at = 25257
package preposition15 _preposition
constant (text) ^text = "mayn'ting"
- constant (int32) ^at = 25260
+ constant (int32) ^at = 25263
package preposition16 _preposition
constant (text) ^text = "wouldn'ting"
- constant (int32) ^at = 25266
+ constant (int32) ^at = 25269
package preposition17 _preposition
constant (text) ^text = "couldn'ting"
- constant (int32) ^at = 25272
+ constant (int32) ^at = 25275
package preposition18 _preposition
constant (text) ^text = "shouldn'ting"
- constant (int32) ^at = 25278
+ constant (int32) ^at = 25281
package preposition19 _preposition
constant (text) ^text = "won'ting"
- constant (int32) ^at = 25284
+ constant (int32) ^at = 25287
package relations _submodule
package relation1 _relation
constant (int32) relation_id = 6 __translation="relation_id_U38"
constant (text) ^term0 = "object"
constant (text) ^term1 = "--"
- constant (int32) ^at = 25412
+ constant (int32) ^at = 25415
package source_text _module
constant (int32) ^category = 1
package instances _submodule
@@ -27406,8 +27413,8 @@ package main _plain
constant (text) ^name = "decorative"
constant (text) ^printed_name = "decorative"
constant (text) ^abbreviation = "Dc"
- constant (int32) ^at = 14810
- constant (int32) ^kind_set_at = 14810
+ constant (int32) ^at = 14813
+ constant (int32) ^kind_set_at = 14813
constant ^value = I_decorative
constant (text) ^index_kind = "text style"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > text style"
@@ -27416,14 +27423,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_text_style) I_decorative = 1 __translation="I_decorative_U1"
+ instance (/main/source_text/kinds/kind1/K_text_style) I_decorative = 1 __translation="I_decorative_U1"
constant (int32) ^declaration_order = 22
package instance2 _instance
constant (text) ^name = "calligraphic"
constant (text) ^printed_name = "calligraphic"
constant (text) ^abbreviation = "Cl"
- constant (int32) ^at = 14810
- constant (int32) ^kind_set_at = 14810
+ constant (int32) ^at = 14813
+ constant (int32) ^kind_set_at = 14813
constant ^value = I_calligraphic
constant (text) ^index_kind = "text style"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > text style"
@@ -27432,14 +27439,14 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_text_style) I_calligraphic = 2 __translation="I_calligraphic_U1"
+ instance (/main/source_text/kinds/kind1/K_text_style) I_calligraphic = 2 __translation="I_calligraphic_U1"
constant (int32) ^declaration_order = 23
package instance3 _instance
constant (text) ^name = "enlarged"
constant (text) ^printed_name = "enlarged"
constant (text) ^abbreviation = "En"
- constant (int32) ^at = 14810
- constant (int32) ^kind_set_at = 14810
+ constant (int32) ^at = 14813
+ constant (int32) ^kind_set_at = 14813
constant ^value = I_enlarged
constant (text) ^index_kind = "text style"
constant (text) ^index_kind_chain = "value > > sayable value > understandable value > enumerated value > text style"
@@ -27448,12 +27455,12 @@ package main _plain
constant (/main/generic/kinds/kind29/K_list_of_values) ^usages = { }
constant (text) ^brief_inferences = ""
constant (text) ^specific_inferences = ""
- instance (K_text_style) I_enlarged = 3 __translation="I_enlarged_U1"
+ instance (/main/source_text/kinds/kind1/K_text_style) I_enlarged = 3 __translation="I_enlarged_U1"
constant (int32) ^declaration_order = 24
package kinds _submodule
package kind1 _kind
constant (text) ^name = "text style"
- constant (int32) ^at = 14801
+ constant (int32) ^at = 14804
typename K_text_style = enum __translation="K_text_style"
constant (int32) ^source_order = 19
constant (int32) kind_ref = 561 __translation="kind_ref_U43"
@@ -27746,7 +27753,7 @@ package main _plain
constant (int32) KIT_CONFIGURATION_BITMAP = 0
constant (int32) KIT_CONFIGURATION_LOOKMODE = 2
constant (text) I7_VERSION_NUMBER = "10.1.0"
- constant (text) I7_FULL_VERSION_NUMBER = "10.1.0-alpha.1+6U65"
+ constant (text) I7_FULL_VERSION_NUMBER = "10.1.0-alpha.1+6U75"
constant (text) ^virtual_machine = "C/32d/v1/no-main"
constant (text) ^virtual_machine_icon = "vm_glulx.png"
constant (text) ^language_elements_used = "core, naming, instance counting, glulx external files"
@@ -27783,7 +27790,7 @@ package main _plain
package heading5 _heading
constant (int32) id = 561 __translation="id_U5"
constant (text) ^text = "Part One - Preamble"
- constant (int32) ^at = 14886
+ constant (int32) ^at = 14889
constant (int32) ^parts = 2
constant (text) ^part1 = "Part One"
constant (text) ^part2 = "Preamble"
@@ -27793,7 +27800,7 @@ package main _plain
package heading6 _heading
constant (int32) id = 561 __translation="id_U6"
constant (text) ^text = "Part Two - Miscellaneous Definitions"
- constant (int32) ^at = 15607
+ constant (int32) ^at = 15610
constant (int32) ^parts = 2
constant (text) ^part1 = "Part Two"
constant (text) ^part2 = "Miscellaneous Definitions"
@@ -27803,7 +27810,7 @@ package main _plain
package heading7 _heading
constant (int32) id = 561 __translation="id_U7"
constant (text) ^text = "Part Three - Phrasebook"
- constant (int32) ^at = 15968
+ constant (int32) ^at = 15971
constant (int32) ^parts = 2
constant (text) ^part1 = "Part Three"
constant (text) ^part2 = "Phrasebook"
@@ -27813,7 +27820,7 @@ package main _plain
package heading8 _heading
constant (int32) id = 561 __translation="id_U8"
constant (text) ^text = "Chapter 1 - Saying"
- constant (int32) ^at = 15973
+ constant (int32) ^at = 15976
constant (int32) ^parts = 2
constant (text) ^part1 = "Chapter 1"
constant (text) ^part2 = "Saying"
@@ -27823,7 +27830,7 @@ package main _plain
package heading9 _heading
constant (int32) id = 561 __translation="id_U9"
constant (text) ^text = "Section 1 - Saying Values"
- constant (int32) ^at = 15978
+ constant (int32) ^at = 15981
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Saying Values"
@@ -27833,7 +27840,7 @@ package main _plain
package heading10 _heading
constant (int32) id = 561 __translation="id_U10"
constant (text) ^text = "Section 2 - Saying Names"
- constant (int32) ^at = 16052
+ constant (int32) ^at = 16055
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "Saying Names"
@@ -27843,7 +27850,7 @@ package main _plain
package heading11 _heading
constant (int32) id = 561 __translation="id_U11"
constant (text) ^text = "Section 3 - Saying Special Characters"
- constant (int32) ^at = 16161
+ constant (int32) ^at = 16164
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 3"
constant (text) ^part2 = "Saying Special Characters"
@@ -27853,7 +27860,7 @@ package main _plain
package heading12 _heading
constant (int32) id = 561 __translation="id_U12"
constant (text) ^text = "Section 4 - Saying Line and Paragraph Breaks"
- constant (int32) ^at = 16231
+ constant (int32) ^at = 16234
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 4"
constant (text) ^part2 = "Saying Line and Paragraph Breaks"
@@ -27863,7 +27870,7 @@ package main _plain
package heading13 _heading
constant (int32) id = 561 __translation="id_U13"
constant (text) ^text = "Section 5 - Saying If and Otherwise"
- constant (int32) ^at = 16341
+ constant (int32) ^at = 16344
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 5"
constant (text) ^part2 = "Saying If and Otherwise"
@@ -27873,7 +27880,7 @@ package main _plain
package heading14 _heading
constant (int32) id = 561 __translation="id_U14"
constant (text) ^text = "Section 6 - Saying one of"
- constant (int32) ^at = 16470
+ constant (int32) ^at = 16473
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 6"
constant (text) ^part2 = "Saying one of"
@@ -27883,7 +27890,7 @@ package main _plain
package heading15 _heading
constant (int32) id = 561 __translation="id_U15"
constant (text) ^text = "Section 7 - Saying Fonts and Visual Effects"
- constant (int32) ^at = 16717
+ constant (int32) ^at = 16720
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 7"
constant (text) ^part2 = "Saying Fonts and Visual Effects"
@@ -27893,7 +27900,7 @@ package main _plain
package heading16 _heading
constant (int32) id = 561 __translation="id_U16"
constant (text) ^text = "Section 8 - Saying Lists of Values"
- constant (int32) ^at = 16809
+ constant (int32) ^at = 16812
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 8"
constant (text) ^part2 = "Saying Lists of Values"
@@ -27903,7 +27910,7 @@ package main _plain
package heading17 _heading
constant (int32) id = 561 __translation="id_U17"
constant (text) ^text = "Chapter 2 - Conditions and Variables"
- constant (int32) ^at = 16884
+ constant (int32) ^at = 16887
constant (int32) ^parts = 2
constant (text) ^part1 = "Chapter 2"
constant (text) ^part2 = "Conditions and Variables"
@@ -27913,7 +27920,7 @@ package main _plain
package heading18 _heading
constant (int32) id = 561 __translation="id_U18"
constant (text) ^text = "Section 1 - Conditions"
- constant (int32) ^at = 16891
+ constant (int32) ^at = 16894
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Conditions"
@@ -27923,7 +27930,7 @@ package main _plain
package heading19 _heading
constant (int32) id = 561 __translation="id_U19"
constant (text) ^text = "Section 2 - Assigning Temporary Variables"
- constant (int32) ^at = 16936
+ constant (int32) ^at = 16939
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "Assigning Temporary Variables"
@@ -27933,7 +27940,7 @@ package main _plain
package heading20 _heading
constant (int32) id = 561 __translation="id_U20"
constant (text) ^text = "Section 3 - Increase and Decrease"
- constant (int32) ^at = 17121
+ constant (int32) ^at = 17124
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 3"
constant (text) ^part2 = "Increase and Decrease"
@@ -27943,7 +27950,7 @@ package main _plain
package heading21 _heading
constant (int32) id = 561 __translation="id_U21"
constant (text) ^text = "Chapter 2 - Arithmetic"
- constant (int32) ^at = 17213
+ constant (int32) ^at = 17216
constant (int32) ^parts = 2
constant (text) ^part1 = "Chapter 2"
constant (text) ^part2 = "Arithmetic"
@@ -27953,7 +27960,7 @@ package main _plain
package heading22 _heading
constant (int32) id = 561 __translation="id_U22"
constant (text) ^text = "Section 1 - Arithmetic Operations"
- constant (int32) ^at = 17218
+ constant (int32) ^at = 17221
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Arithmetic Operations"
@@ -27963,7 +27970,7 @@ package main _plain
package heading23 _heading
constant (int32) id = 561 __translation="id_U23"
constant (text) ^text = "Section 2 - Saying Real Numbers (not for Z-machine)"
- constant (int32) ^at = 17692
+ constant (int32) ^at = 17695
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "Saying Real Numbers (not for Z-machine)"
@@ -27973,7 +27980,7 @@ package main _plain
package heading24 _heading
constant (int32) id = 561 __translation="id_U24"
constant (text) ^text = "Section 3 - Real Arithmetic (not for Z-machine)"
- constant (int32) ^at = 17831
+ constant (int32) ^at = 17834
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 3"
constant (text) ^part2 = "Real Arithmetic (not for Z-machine)"
@@ -27983,7 +27990,7 @@ package main _plain
package heading25 _heading
constant (int32) id = 561 __translation="id_U25"
constant (text) ^text = "Section 4 - Exponential Functions (not for Z-machine)"
- constant (int32) ^at = 18087
+ constant (int32) ^at = 18090
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 4"
constant (text) ^part2 = "Exponential Functions (not for Z-machine)"
@@ -27993,7 +28000,7 @@ package main _plain
package heading26 _heading
constant (int32) id = 561 __translation="id_U26"
constant (text) ^text = "Section 5 - Trigonometric Functions (not for Z-machine)"
- constant (int32) ^at = 18235
+ constant (int32) ^at = 18238
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 5"
constant (text) ^part2 = "Trigonometric Functions (not for Z-machine)"
@@ -28003,7 +28010,7 @@ package main _plain
package heading27 _heading
constant (int32) id = 561 __translation="id_U27"
constant (text) ^text = "Section 6 - Trigonometric Functions (not for Z-machine)"
- constant (int32) ^at = 18481
+ constant (int32) ^at = 18484
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 6"
constant (text) ^part2 = "Trigonometric Functions (not for Z-machine)"
@@ -28013,7 +28020,7 @@ package main _plain
package heading28 _heading
constant (int32) id = 561 __translation="id_U28"
constant (text) ^text = "Chapter 3 - Control"
- constant (int32) ^at = 18788
+ constant (int32) ^at = 18791
constant (int32) ^parts = 2
constant (text) ^part1 = "Chapter 3"
constant (text) ^part2 = "Control"
@@ -28023,7 +28030,7 @@ package main _plain
package heading29 _heading
constant (int32) id = 561 __translation="id_U29"
constant (text) ^text = "Section 1 - Deciding Outcomes"
- constant (int32) ^at = 18793
+ constant (int32) ^at = 18796
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Deciding Outcomes"
@@ -28033,7 +28040,7 @@ package main _plain
package heading30 _heading
constant (int32) id = 561 __translation="id_U30"
constant (text) ^text = "Section 2 - If and Unless"
- constant (int32) ^at = 18870
+ constant (int32) ^at = 18873
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "If and Unless"
@@ -28043,7 +28050,7 @@ package main _plain
package heading31 _heading
constant (int32) id = 561 __translation="id_U31"
constant (text) ^text = "Section 3 - While and Repeat"
- constant (int32) ^at = 18952
+ constant (int32) ^at = 18955
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 3"
constant (text) ^part2 = "While and Repeat"
@@ -28053,7 +28060,7 @@ package main _plain
package heading32 _heading
constant (int32) id = 561 __translation="id_U32"
constant (text) ^text = "Section 4 - Loop Flow"
- constant (int32) ^at = 19237
+ constant (int32) ^at = 19240
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 4"
constant (text) ^part2 = "Loop Flow"
@@ -28063,7 +28070,7 @@ package main _plain
package heading33 _heading
constant (int32) id = 561 __translation="id_U33"
constant (text) ^text = "Chapter 4 - Values"
- constant (int32) ^at = 19272
+ constant (int32) ^at = 19275
constant (int32) ^parts = 2
constant (text) ^part1 = "Chapter 4"
constant (text) ^part2 = "Values"
@@ -28073,7 +28080,7 @@ package main _plain
package heading34 _heading
constant (int32) id = 561 __translation="id_U34"
constant (text) ^text = "Section 1 - Enumerations"
- constant (int32) ^at = 19277
+ constant (int32) ^at = 19280
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Enumerations"
@@ -28083,7 +28090,7 @@ package main _plain
package heading35 _heading
constant (int32) id = 561 __translation="id_U35"
constant (text) ^text = "Section 2 - Randomness"
- constant (int32) ^at = 19430
+ constant (int32) ^at = 19433
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "Randomness"
@@ -28093,7 +28100,7 @@ package main _plain
package heading36 _heading
constant (int32) id = 561 __translation="id_U36"
constant (text) ^text = "Section 3 - Default Values"
- constant (int32) ^at = 19666
+ constant (int32) ^at = 19669
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 3"
constant (text) ^part2 = "Default Values"
@@ -28103,7 +28110,7 @@ package main _plain
package heading37 _heading
constant (int32) id = 561 __translation="id_U37"
constant (text) ^text = "Chapter 5 - Text"
- constant (int32) ^at = 19703
+ constant (int32) ^at = 19706
constant (int32) ^parts = 2
constant (text) ^part1 = "Chapter 5"
constant (text) ^part2 = "Text"
@@ -28113,7 +28120,7 @@ package main _plain
package heading38 _heading
constant (int32) id = 561 __translation="id_U38"
constant (text) ^text = "Section 1 - Breaking down text"
- constant (int32) ^at = 19708
+ constant (int32) ^at = 19711
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Breaking down text"
@@ -28123,7 +28130,7 @@ package main _plain
package heading39 _heading
constant (int32) id = 561 __translation="id_U39"
constant (text) ^text = "Section 2 - Matching and Replacing"
- constant (int32) ^at = 20057
+ constant (int32) ^at = 20060
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "Matching and Replacing"
@@ -28133,7 +28140,7 @@ package main _plain
package heading40 _heading
constant (int32) id = 561 __translation="id_U40"
constant (text) ^text = "Section 3 - Regular Expressions"
- constant (int32) ^at = 20439
+ constant (int32) ^at = 20442
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 3"
constant (text) ^part2 = "Regular Expressions"
@@ -28143,7 +28150,7 @@ package main _plain
package heading41 _heading
constant (int32) id = 561 __translation="id_U41"
constant (text) ^text = "Section 4 - Casing of Text"
- constant (int32) ^at = 20614
+ constant (int32) ^at = 20617
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 4"
constant (text) ^part2 = "Casing of Text"
@@ -28153,7 +28160,7 @@ package main _plain
package heading42 _heading
constant (int32) id = 561 __translation="id_U42"
constant (text) ^text = "Section 5 - Adaptive Text"
- constant (int32) ^at = 20752
+ constant (int32) ^at = 20755
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 5"
constant (text) ^part2 = "Adaptive Text"
@@ -28163,7 +28170,7 @@ package main _plain
package heading43 _heading
constant (int32) id = 561 __translation="id_U43"
constant (text) ^text = "Chapter 6 - Data Structures"
- constant (int32) ^at = 21031
+ constant (int32) ^at = 21034
constant (int32) ^parts = 2
constant (text) ^part1 = "Chapter 6"
constant (text) ^part2 = "Data Structures"
@@ -28173,7 +28180,7 @@ package main _plain
package heading44 _heading
constant (int32) id = 561 __translation="id_U44"
constant (text) ^text = "Section 1 - Tables"
- constant (int32) ^at = 21037
+ constant (int32) ^at = 21040
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Tables"
@@ -28183,7 +28190,7 @@ package main _plain
package heading45 _heading
constant (int32) id = 561 __translation="id_U45"
constant (text) ^text = "Section 2 - Sorting Tables"
- constant (int32) ^at = 21425
+ constant (int32) ^at = 21428
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "Sorting Tables"
@@ -28193,7 +28200,7 @@ package main _plain
package heading46 _heading
constant (int32) id = 561 __translation="id_U46"
constant (text) ^text = "Section 3 - Lists"
- constant (int32) ^at = 21503
+ constant (int32) ^at = 21506
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 3"
constant (text) ^part2 = "Lists"
@@ -28203,7 +28210,7 @@ package main _plain
package heading47 _heading
constant (int32) id = 561 __translation="id_U47"
constant (text) ^text = "Section 4 - Length of lists"
- constant (int32) ^at = 21871
+ constant (int32) ^at = 21874
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 4"
constant (text) ^part2 = "Length of lists"
@@ -28213,7 +28220,7 @@ package main _plain
package heading48 _heading
constant (int32) id = 561 __translation="id_U48"
constant (text) ^text = "Section 5 - List operations"
- constant (int32) ^at = 22046
+ constant (int32) ^at = 22049
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 5"
constant (text) ^part2 = "List operations"
@@ -28223,7 +28230,7 @@ package main _plain
package heading49 _heading
constant (int32) id = 561 __translation="id_U49"
constant (text) ^text = "Section 6 - Relations"
- constant (int32) ^at = 22227
+ constant (int32) ^at = 22230
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 6"
constant (text) ^part2 = "Relations"
@@ -28233,7 +28240,7 @@ package main _plain
package heading50 _heading
constant (int32) id = 561 __translation="id_U50"
constant (text) ^text = "Chapter 7 - Functional Programming"
- constant (int32) ^at = 22807
+ constant (int32) ^at = 22810
constant (int32) ^parts = 2
constant (text) ^part1 = "Chapter 7"
constant (text) ^part2 = "Functional Programming"
@@ -28243,7 +28250,7 @@ package main _plain
package heading51 _heading
constant (int32) id = 561 __translation="id_U51"
constant (text) ^text = "Section 1 - Applying Functions"
- constant (int32) ^at = 22813
+ constant (int32) ^at = 22816
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Applying Functions"
@@ -28253,7 +28260,7 @@ package main _plain
package heading52 _heading
constant (int32) id = 561 __translation="id_U52"
constant (text) ^text = "Section 2 - Working with Lists"
- constant (int32) ^at = 23170
+ constant (int32) ^at = 23173
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "Working with Lists"
@@ -28263,7 +28270,7 @@ package main _plain
package heading53 _heading
constant (int32) id = 561 __translation="id_U53"
constant (text) ^text = "Chapter 8 - Rulebooks and Activities"
- constant (int32) ^at = 23433
+ constant (int32) ^at = 23436
constant (int32) ^parts = 2
constant (text) ^part1 = "Chapter 8"
constant (text) ^part2 = "Rulebooks and Activities"
@@ -28273,7 +28280,7 @@ package main _plain
package heading54 _heading
constant (int32) id = 561 __translation="id_U54"
constant (text) ^text = "Section 1 - Carrying out Activities"
- constant (int32) ^at = 23440
+ constant (int32) ^at = 23443
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Carrying out Activities"
@@ -28283,7 +28290,7 @@ package main _plain
package heading55 _heading
constant (int32) id = 561 __translation="id_U55"
constant (text) ^text = "Section 2 - Advanced Activities"
- constant (int32) ^at = 23516
+ constant (int32) ^at = 23519
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "Advanced Activities"
@@ -28293,7 +28300,7 @@ package main _plain
package heading56 _heading
constant (int32) id = 561 __translation="id_U56"
constant (text) ^text = "Section 3 - Following Rules"
- constant (int32) ^at = 23719
+ constant (int32) ^at = 23722
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 3"
constant (text) ^part2 = "Following Rules"
@@ -28303,7 +28310,7 @@ package main _plain
package heading57 _heading
constant (int32) id = 561 __translation="id_U57"
constant (text) ^text = "Section 4 - Success and Failure"
- constant (int32) ^at = 23988
+ constant (int32) ^at = 23991
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 4"
constant (text) ^part2 = "Success and Failure"
@@ -28313,7 +28320,7 @@ package main _plain
package heading58 _heading
constant (int32) id = 561 __translation="id_U58"
constant (text) ^text = "Chapter 9 - External Files (not for Z-machine)"
- constant (int32) ^at = 24117
+ constant (int32) ^at = 24120
constant (int32) ^parts = 2
constant (text) ^part1 = "Chapter 9"
constant (text) ^part2 = "External Files (not for Z-machine)"
@@ -28323,7 +28330,7 @@ package main _plain
package heading59 _heading
constant (int32) id = 561 __translation="id_U59"
constant (text) ^text = "Section 1 - Files of Text"
- constant (int32) ^at = 24128
+ constant (int32) ^at = 24131
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Files of Text"
@@ -28333,7 +28340,7 @@ package main _plain
package heading60 _heading
constant (int32) id = 561 __translation="id_U60"
constant (text) ^text = "Section 2 - Files of Data"
- constant (int32) ^at = 24201
+ constant (int32) ^at = 24204
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "Files of Data"
@@ -28343,7 +28350,7 @@ package main _plain
package heading61 _heading
constant (int32) id = 561 __translation="id_U61"
constant (text) ^text = "Section 3 - File Handling"
- constant (int32) ^at = 24257
+ constant (int32) ^at = 24260
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 3"
constant (text) ^part2 = "File Handling"
@@ -28353,7 +28360,7 @@ package main _plain
package heading62 _heading
constant (int32) id = 561 __translation="id_U62"
constant (text) ^text = "Part Four - Adjectival Definitions"
- constant (int32) ^at = 24347
+ constant (int32) ^at = 24350
constant (int32) ^parts = 2
constant (text) ^part1 = "Part Four"
constant (text) ^part2 = "Adjectival Definitions"
@@ -28363,7 +28370,7 @@ package main _plain
package heading63 _heading
constant (int32) id = 561 __translation="id_U63"
constant (text) ^text = "Section 1 - Miscellaneous Useful Adjectives"
- constant (int32) ^at = 24353
+ constant (int32) ^at = 24356
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Miscellaneous Useful Adjectives"
@@ -28373,7 +28380,7 @@ package main _plain
package heading64 _heading
constant (int32) id = 561 __translation="id_U64"
constant (text) ^text = "Section 2 - Adjectives for Relations"
- constant (int32) ^at = 24712
+ constant (int32) ^at = 24715
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "Adjectives for Relations"
@@ -28383,7 +28390,7 @@ package main _plain
package heading65 _heading
constant (int32) id = 561 __translation="id_U65"
constant (text) ^text = "Section 3 - Adjectives for Real Numbers (not for Z-machine)"
- constant (int32) ^at = 24992
+ constant (int32) ^at = 24995
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 3"
constant (text) ^part2 = "Adjectives for Real Numbers (not for Z-machine)"
@@ -28399,7 +28406,7 @@ package main _plain
package heading67 _heading
constant (int32) id = 561 __translation="id_U67"
constant (text) ^text = "Section 1 - Modal verbs and contractions"
- constant (int32) ^at = 25159
+ constant (int32) ^at = 25162
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Modal verbs and contractions"
@@ -28409,7 +28416,7 @@ package main _plain
package heading68 _heading
constant (int32) id = 561 __translation="id_U68"
constant (text) ^text = "Section 2 - Fallback definitions (not for interactive fiction language element)"
- constant (int32) ^at = 25291
+ constant (int32) ^at = 25294
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "Fallback definitions (not for interactive fiction language element)"
@@ -28419,7 +28426,7 @@ package main _plain
package heading69 _heading
constant (int32) id = 561 __translation="id_U69"
constant (text) ^text = "Section 1 - Grammatical definitions"
- constant (int32) ^at = 25315
+ constant (int32) ^at = 25318
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 1"
constant (text) ^part2 = "Grammatical definitions"
@@ -28429,7 +28436,7 @@ package main _plain
package heading70 _heading
constant (int32) id = 561 __translation="id_U70"
constant (text) ^text = "Section 2 - Saying pronouns (for interactive fiction language element only)"
- constant (int32) ^at = 25591
+ constant (int32) ^at = 25594
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 2"
constant (text) ^part2 = "Saying pronouns (for interactive fiction language element only)"
@@ -28439,7 +28446,7 @@ package main _plain
package heading71 _heading
constant (int32) id = 561 __translation="id_U71"
constant (text) ^text = "Section 3 - Further pronouns (for interactive fiction language element only)"
- constant (int32) ^at = 26575
+ constant (int32) ^at = 26578
constant (int32) ^parts = 2
constant (text) ^part1 = "Section 3"
constant (text) ^part2 = "Further pronouns (for interactive fiction language element only)"
@@ -36132,6 +36139,21 @@ package main _plain
val "zero"
inv !return
val 0
+ inv !if
+ inv !eq
+ val n
+ val /main/architectural/MIN_NEGATIVE_NUMBER
+ code
+ inv !print
+ val "minus two billion"
+ inv !store
+ reference
+ val n
+ val 147483648
+ inv !store
+ reference
+ val f
+ val 1
inv !if
inv !lt
val n
@@ -42116,7 +42138,7 @@ package main _plain
val 0
inv !return
inv !unaryminus
- val dir
+ val dir
inv !if
inv /main/BasicInformKit/functions/TableRowIsBlank_fn/TableRowIsBlank
val tab
@@ -42136,7 +42158,7 @@ package main _plain
code
inv !return
inv !unaryminus
- val dir
+ val dir
inv !store
reference
val f
diff --git a/inform7/imperative-module/Chapter 5/Compile Arithmetic.w b/inform7/imperative-module/Chapter 5/Compile Arithmetic.w
index 2a816e0f9..b17464b8a 100644
--- a/inform7/imperative-module/Chapter 5/Compile Arithmetic.w
+++ b/inform7/imperative-module/Chapter 5/Compile Arithmetic.w
@@ -23,13 +23,19 @@ void Kinds::Compile::perform_arithmetic_emit(int op, equation *eqn,
parse_node *Y, equation_node *EY, kind *KY) {
int binary = TRUE;
if (Kinds::Dimensions::arithmetic_op_is_unary(op)) binary = FALSE;
- int use_fp = FALSE, promote_X = FALSE, promote_Y = FALSE, reduce_modulo_1440 = FALSE;
+ int use_fp = FALSE, promote_X = FALSE, promote_Y = FALSE, demote_result = FALSE,
+ reduce_modulo_1440 = FALSE;
+ kind *KR = Kinds::Dimensions::arithmetic_on_kinds(KX, KY, op);
if ((KX) && (KY)) {
#ifdef IF_MODULE
- kind *KR = Kinds::Dimensions::arithmetic_on_kinds(KX, KY, op);
kind *KT = TimesOfDay::kind();
if ((KT) && (Kinds::eq(KR, KT))) reduce_modulo_1440 = TRUE;
#endif
+ if (((Kinds::FloatingPoint::uses_floating_point(KX)) ||
+ (Kinds::FloatingPoint::uses_floating_point(KY)))
+ && (Kinds::FloatingPoint::uses_floating_point(KR) == FALSE)
+ && ((op == TIMES_OPERATION) || (op == DIVIDE_OPERATION)))
+ demote_result = TRUE;
}
@;
@;
@@ -37,6 +43,9 @@ void Kinds::Compile::perform_arithmetic_emit(int op, equation *eqn,
EmitCode::call(Hierarchy::find(NUMBER_TY_TO_TIME_TY_HL));
EmitCode::down();
}
+ if (demote_result) {
+ Kinds::FloatingPoint::begin_deflotation_emit(KR);
+ }
switch (op) {
case EQUALS_OPERATION: @; break;
case PLUS_OPERATION: @; break;
@@ -57,6 +66,7 @@ void Kinds::Compile::perform_arithmetic_emit(int op, equation *eqn,
"suggesting a problem with some inline definition.");
break;
}
+ if (demote_result) Kinds::FloatingPoint::end_deflotation_emit(KR);
if (reduce_modulo_1440) EmitCode::up();
}