|
|||||
Referents: writing referents to a stream | |||||
Prerequisite Concepts | Related Syntax |
A stream is usually opened so that any attempt to write a referent to it is in error. OmniMark allows the programmer to specify whether or not referents are allowed for a stream and what is done with them, as follows:
referents-allowed
allows referents to be written to a stream, and ensures that their values will be written to the stream. This is the default for the #main-output
stream if there is any use of referents in an OmniMark program, and if there is no declare #main-output
declaration in the program declaring otherwise.
referents-not-allowed
is the same as the default for a stream. Any attempt to write a referent to a stream is a fatal error, whether that referent has a current value or not. This is the default for all streams except #main-output
, #suppress
, and #error
.
referents-displayed
specifies that when a referent is written to the stream, it is converted to a text representation that can be immediately evaluated. In other words, instead of writing the actual referent, a string expression describing that referent is written instead. The string expression written contains the referent name, its current value, and the name of the stream to which it is attached, if any. This is the default for #suppress
and #error
.
Note that there are two ways of writing a referent to a stream:
output referent
or put referent
to that stream.
All three referent-controlling stream modifiers can be applied to an open
, reopen
, or set
stream action.
Prerequisite Concepts Referents Streams: attachments |
Related Syntax open put...referent referents-allowed referents-displayed referents-not-allowed reopen set set referent |
---- |