4.7. Preservation of Values

Objects of data may have no existence outside the scope of their declarations. The values to which local identifiers refer must in general be assumed undefined when a block is first entered and whenever it is subsequently re-entered. This is due to the fact that a block-structured language is designed for automatic overlaying of data. Local working space may therefore have been used for other purposes between one entry to a block and the next. In Coral 66 this is not invariably the case. When a data declaration contains a Presetlist as permitted by the rule given in Section 4.6, the values of all the objects named in that declaration will remain undisturbed between successive entries to the block or procedure body, like "own" variables in Algol 60. It is sufficient that a preset assignment symbol appears at then end of the declaration, even though the list of preset constants is void.