7.6 The Object structure

object_status

Datatype

Specification:
datatype object_status =
PERMANENT_OBJECT | TEMPORARY_OBJECT

Description:

As foreign data is not stored directly as part of a foreign object, objects can be cheaply replicated without changing the meaning of the foreign data. However, it is also sometimes useful to be able to control the way in which foreign objects are replicated.

To do this, each object is given a status value, which can be either permanent or temporary. The purpose of the object status is that permanent foreign objects can be duplicated but temporary objects are never duplicated and would be returned unmodified. Temporary objects are made by an operation that first duplicates a permanent object and changes the status of the duplicate to temporary.

The functions which perform such duplication may need to take suitable care of the language-specific part of an object. As such, these function are provided as part of the language specific interfaces.

The object status values are:

PERMANENT_OBJECT

An object with permanent status usually represents some sort of 'live' object which is in some way persistent. By default, newly built objects are given permanent status.

TEMPORARY_OBJECT

An object with temporary status usually represents an ephemeral (short-lived) object that is summoned into existence to perform a very specific role in a program.


MLWorks Reference Manual (version 1.0) - 3 DEC 1996

Generated with Harlequin WebMaker