🏡 Back Home
runtime
Contents
- Chapter 1: Configuration and Control
- Chapter 2: Emission
- Hierarchy - To provide an enforced structure and set of naming conventions for packages and names in the Inter code we generate.
- Noun Identifiers - Instances and kinds are both referred to by nouns, and here we create corresponding inames for use in compiled Inter code, and identifiers for use in the index.
- Compilation Units - The source text is divided into compilation units, and the material they lead to is similarly divided up.
- Emit - "Emitting" is the process of generating Inter bytecode, and this section provides a comprehensive API for the runtime and imperative modules to do that.
- Emit Code - Here is how bytecode for instructions inside functions is emitted.
- Emit Arrays - Here is how bytecode to create ready-initialised arrays of Inter data is emitted.
- Interventions - Material written in low-level Inform 6 notation can be emitted for later linking, a distasteful process called "intervening".
- Shared Variables (runtime) - Functions to create sets of shared variables.
- The Heap - Texts, lists and other flexibly-sized structures make use of a pool of run-time storage called "the heap".
- Default Values - An unusual feature of Inform is that every kind has a default value, so that it is impossible for any variable or property to be uninitialised.
- Equality Schemas - To define how to compile a comparison of two values.
- Instance Counting - Though a feature, for convenience of implementation, this code is always active and provides for efficient loops through instances at runtime.
- Kind Declarations - Each different kind used anywhere in the tree must be declared with an Inter kind declaration.
- Showme Command - A feature to provide some support for the SHOWME testing command.
- Here, Nowhere and Everywhere - Almost a Beatles song, but really a set of schemas for compiling the meaning of the unary predicates here, nowhere and everywhere.
- Short Names - To compile the "short name" and "capitalised short name" properties.
- General Parsing Routines - To compile "general parsing routines", or GPRs, which are runtime functions used to match noun phrases in the command parser.
- Index Extensions - To keep details of the extensions currently loaded, their authors, titles, versions and rubrics, and to index and credit them suitably.
- Chapter 3: Basics
- Generic Module - A variety of Inter constants which do not depend on the content of the program.
- Completion Module - The completion module contains material turning the collection of resources into a playable work.
- Use Options (runtime) - To give use options a presence at run-time.
- Chapter 4: Enclosed Resources
- Enclosures - Packages which contain all the resources any of their subpackages will need are called "enclosures".
- List Literals - Each enclosure contains the literal lists needed by its functions.
- Text Literals - In this section we compile text constants.
- Text Substitutions - In this section we compile text with substitutions.
- Responses - In this section we keep track of response texts.
- Box Quotations - In this section we compile text constants.
- Relation Literals - In fact there is only one literal relation: the empty one, used as a default value.
- Stored Action Literals - Explicit actions stored in memory as literals.
- Group Together - The "group together" phrase in the Standard Rules needs support functions, which are compiled within the user's enclosure.
- Looping Over Scope- To compile functions which implement conditions such as "in the presence of Mrs Dalloway".
- Chapter 5: Provision Submodules
- Activities (runtime) To compile the activities submodule for a compilation unit, which contains _activity packages.
- Adjectives (runtime) - To compile the adjectives submodule for a compilation unit, which contains _adjective, _adjective_phrase and _measurement packages.
- Chronology - To compile the chronology submodule for a compilation unit, which contains _past_condition and _action_history_condition packages.
- Conjugations - To compile the conjugations submodule for a compilation unit, which contains _verb, _modal_verb and _verb_form packages.
- Equations (runtime) - To compile the equations submodule for a compilation unit, which contains _equation packages.
- Instances (runtime) - To compile the instances submodule for a compilation unit, which contains _instance packages.
- Backdrop Instances - Some additions to an _instance package for instances of the kind "backdrop".
- Door Instances - Property values for two-sided doors to make them interconnect with the map at runtime.
- Region Instances - Some additions to an _instance package for instances of the kind "region".
- Scene Instances - Some additions to an _instance package for instances of the kind "backdrop".
- Multimedia (runtime) - To compile the multimedia submodule for a compilation unit, which contains _external_file, _figure and _sound packages.
- Tables (runtime) - To compile the tables submodule for a compilation unit, which contains _table packages containing _table_column_usage subpackages.
- Table Columns (runtime) - To compile the table_columns submodule for a compilation unit, which contains _table_column packages.
- Dialogue Beat Instances - To compile any dialogue details in the instances submodule.
- Dialogue - To compile any dialogue details in the instances submodule.
- Dialogue Choice Instances - To compile any dialogue details in the instances submodule.
- Rules (runtime) - To compile the rules submodule for a compilation unit, which contains _rule packages.
- Rulebooks (runtime) - To compile the rulebooks submodule for a compilation unit, which contains _rulebook and _outcome packages.
- Variables - To compile the variables submodule for a compilation unit, which contains _variable packages.
- Properties (runtime) - To compile the properties submodule for a compilation unit, which contains _property packages.
- Relations (runtime) - To compile the relations submodule for a compilation unit, which contains _relation packages.
- Literal Patterns (runtime) - Compiled code to print and parse values expressed as literals.
- Kind Constructors - Each kind constructor has an Inter package of resources.
- Kind IDs - To compile the equations submodule for a compilation unit, which contains _equation packages.
- Actions (runtime) - To compile the actions submodule for a compilation unit, which contains _action packages.
- Named Action Patterns (runtime) - To compile the named_action_patterns submodule for a compilation unit, which contains _named_action_pattern packages.
- Test Scripts (runtime) - To compile the tests submodule for a compilation unit, which contains _test packages.
- Chapter 6: Completion Resources
- Chapter 7: Command Grammar