Some of the schemes that Tom Savor mentions are best implemented using
an invocation or usage count.  Such  constructs as

|&WhosisDId setc '__whosis_declared__'
|          gblb   &(&WhosisDId)

yield a created global binary/boolean set symbol that has the default
value boolean zero.

Then whenever an instance of a Whosis is encountered such statements as

|&Whosis_declared setb (&(&WhosisDId))
|          aif    (&Whosis_declared).Whosis_declared
| . . . <generate Whosis declaration> . . .
|&(&WhosisDId) setb 1
|.Whosis_declared anop

can, for example, be used to ensure that at most one declaration of
the properties of a Whosis is inserted into a source program.

I like to call schemes of this sort Unitarian ones in homage to
Whitehead's celebrated definition of a Unitarian as someone "who
believes in, at most, one God".

John Gilmore, Ashland, MA 01721 - USA

Reply via email to