- Foreword
- Proposals Process
- 200x Membership
- 1 Introduction
- 2 Terms, notation, and references
- 3 Usage requirements
- 4 Documentation requirements
- 5 Compliance and labeling
- 6 Glossary
- 7 The optional Block word set
- 8 The optional Double-Number word set
- 9 The optional Exception word set
- 10 The optional Facility word set
- 11 The optional File-Access word set
- 12 The optional Floating-Point word set
- 13 The optional Locals word set
- 14 The optional Memory-Allocation word set
- 15 The optional Programming-Tools word set
- 16 The optional Search-Order word set
- 17 The optional String word set
- 18 The optional Extended-Character word set
- Annex A: Rationale
- Annex B: Bibliography
- Annex C: Compatibility analysis
- Annex D: Portability guide
- Annex E: Reference Implementations
- Annex F: Test Suite
- Annex H: Alphabetic list of words
16 The optional Search-Order word set
16.1 Introduction
16.2 Additional terms and notation
- compilation word list:
-
The word list into which new definition names are placed.
- search order:
- A list of word lists specifying the order in which the dictionary will be searched.
16.3 Additional usage requirements
16.3.1 Data types
Word list identifiers are implementation-dependent single-cell values that identify word lists.Append table 16.1 to table 3.1.
See: 3.1 Data types, 3.4.2 Finding definition names, 3.4 The Forth text interpreter.
16.3.2 Environmental queries
Append table 16.2 to table 3.4.See: 3.2.6 Environmental queries.
String Value data type | Constant? | Meaning | |
WORDLISTS | n | yes | maximum number of word lists usable in the search order |
16.3.3 Finding definition names
When searching a word list for a definition name, the system shall search each word list from its last definition to its first. The search may encompass only a single word list, as with SEARCH-WORDLIST, or all the word lists in the search order, as with the text interpreter and FIND.
Changing the search order shall only affect the subsequent finding of definition names in the dictionary. A system with the Search-Order word set shall allow at least eight word lists in the search order.
An ambiguous condition exists if a program changes the compilation word list during the compilation of a definition or before modification of the behavior of the most recently compiled definition with ;CODE, DOES>, or IMMEDIATE.
A program that requires more than eight word lists in the search order has an environmental dependency.
See: 3.4.2 Finding definition names.
16.3.4 Contiguous regions
The regions of data space produced by the operations described in 3.3.3.2 Contiguous regions may be non-contiguous if WORDLIST is executed between allocations.
16.4 Additional documentation requirements
16.4.1 System documentation
16.4.1.1 Implementation-defined options
- maximum number of word lists in the search order (16.3.3 Finding definition names, 16.6.1.2197 SET-ORDER);
- minimum search order (16.6.1.2197 SET-ORDER, 16.6.2.1965 ONLY).
16.4.1.2 Ambiguous conditions
- changing the compilation word list (16.3.3 Finding definition names);
- search order empty (16.6.2.2037 PREVIOUS);
- too many word lists in search order (16.6.2.0715 ALSO).
16.4.1.3 Other system documentation
- no additional requirements.
16.4.2 Program documentation
16.4.2.1 Environmental dependencies
- requiring more than eight word-lists in the search order (16.3.3 Finding definition names).
16.4.2.2 Other program documentation
- no additional requirements.
16.5 Compliance and labeling
16.5.1 Forth-2012 systems
The phrase "Providing the Search-Order word set" shall be appended to the label of any Standard System that provides all of the Search-Order word set.The phrase "Providing name(s) from the Search-Order Extensions word set" shall be appended to the label of any Standard System that provides portions of the Search-Order Extensions word set.
The phrase "Providing the Search-Order Extensions word set" shall be appended to the label of any Standard System that provides all of the Search-Order and Search-Order Extensions word sets.
16.5.2 Forth-2012 programs
The phrase "Requiring the Search-Order word set" shall be appended to the label of Standard Programs that require the system to provide the Search-Order word set.The phrase "Requiring name(s) from the Search-Order Extensions word set" shall be appended to the label of Standard Programs that require the system to provide portions of the Search-Order Extensions word set.
The phrase "Requiring the Search-Order Extensions word set" shall be appended to the label of Standard Programs that require the system to provide all of the Search-Order and Search-Order Extensions word sets.
16.6 Glossary
16.6.1 Search-Order words
- 16.6.1.1180 DEFINITIONS
- 16.6.1.1550 FIND
- 16.6.1.1595 FORTH-WORDLIST
- 16.6.1.1643 GET-CURRENT
- 16.6.1.1647 GET-ORDER
- 16.6.1.2192 SEARCH-WORDLIST
- 16.6.1.2195 SET-CURRENT
- 16.6.1.2197 SET-ORDER
- 16.6.1.2460 WORDLIST
16.6.2 Search-Order extension words
ContributeContributions
enoch [20] WLSCOPE -- wordlists switching made easierProposal2016-06-18 04:19:03
UlrichHoffmann [117] VOCABULARYProposal2019-09-18 12:32:53
ruv [150] Get execution semantics from ntRequest for clarification2020-08-28 11:29:47
How can we conclude from nt, do identifiable execution semantics are defined for the corresponding definition? And how to get the corresponding xt, if any?
By "identifiable" I mean that these semantics can be identified by an execution token xt — to exclude the cases of the words like EXIT
, >R
, etc, that have only nominal execution semantics (see also news:r2u5p3$n4p$1@dont-email.me).