swirl
Guide to OmniMark 9   OmniMark home
docs home 
IndexConceptsTasksSyntaxLibrariesLegacy LibrariesErrors
 
  Related Syntax    
action  

put...referent

 
 

Syntax

put stream-name indexer? open-modifier* (&stream-name indexer? open-modifer*)* 
   referent string-expression


Purpose

Writes a referent into a stream.

Indexer is an optional [...] (item), {...} (key), or lastmost phrase; open-modifiers is an optional list of stream modifiers; and string-expression contains the referent name.

Referents cannot be written to every stream. They can only be written to streams which were opened with either a referents-allowed or referents-displayed modifier. By default, the #main-output stream in any program that uses referents is treated as if it were opened with referents-allowed, and the #error and #console streams are treated as if they were opened with referents-displayed.

Programmers are required to explicitly control where referents are written because when writing to a stream opened with referents-allowed:

When writing to a stream opened with referents-displayed, the referents are immediately converted to a string expression identifying the name of the referent and its current value. This string expression is an ordinary value. No replacement is done when referents are resolved.

Using the keyword referent when writing to a stream opened with referents-allowed never produces the "current" value of a referent, only a reference to some value which may be determined in the future. For this reason, a referent cannot be used in all the same ways that a string expression is used. (For instance, it cannot be used as a key value, or passed as an argument to a function.) It can only be written to streams.

    Related Syntax
 
 
 

Top [ INDEX ] [ CONCEPTS ] [ TASKS ] [ SYNTAX ] [ LIBRARIES ] [ LEGACY LIBRARIES ] [ ERRORS ]

OmniMark 9.1.0 Documentation Generated: September 2, 2010 at 1:51:21 pm
If you have any comments about this section of the documentation, please use this form.

Copyright © Stilo International plc, 1988-2010.