Previous

4.2. Mode declarations

{Mode-declarations provide the defining-mode-indications, which act as abbreviations for declarers constructed from the more primitive ones, or from other declarers, or even from themselves.

For example,

MODE ARRAY = [ m, n ] REAL , and MODE BOOK = STRUCT(STRING text, REF BOOK next)In the latter example, the applied-mode-indication BOOK is not only a convenient abbreviation, but is essential to the declaration.}

4.2.1. Syntax

a) NEST mode declaration of DECS{41a } : mode{94d } token, NEST mode joined definition of DECS{41b,c } .

b) NEST mode definition of MOID TALLY TAB{41c } : where (TAB) is (bold TAG) or (NEST) is (new LAYER), MOID TALLY NEST defining mode indication with TAB{48a } , is defined as{94d} token, actual MOID TALLY NEST declarer{c}.

c) actual MOID TALLY1 NEST declarer{b} : where (TALLY1) is (i), actual MOID NEST declarator{46c,d,g,h,o,s ,-}; where (TALLY1) is (TALLY2 i), MOID TALLY2 NEST applied mode indication with TAB2 {48b } . {Examples:

}

a)
MODE R = REF REAL, S = CHAR
b)
R = REF REAL
c)
REF REAL ·CHAR
{The use of 'TALLY' excludes circular chains of mode-definitions such as MODE A = B, B = A.

Defining-mode-indications-with-SIZETY-STANDARD may be declared only in the standard-prelude, where the nest is of the form "new LAYER" {10.1.1.b }.}

4.2.2. Semantics

The elaboration of a mode-declaration {involves no action, yields no value and} is completed.
 
Next