There are ways to access the records in input streams, using means similar to dictionaries, although one cannot change the records in an input stream.
Syntax: streamValue[ recordValue ]
Type: The key must have the record type of the stream. The operation returns a value of the record type of the stream.
Example: input_stream[ [k = 3; | ] ]
If a key field is missing from the argument, or the key field is null, then this operation always returns null. It doesn't make sense to compare key fields in the stream to null, since null is never equivalent to any value (including null).
Syntax: streamValue{ recordValue }
Type: The record must be consistent with the record type of the stream. The operation returns a value of the record type of the stream.
Example: input_stream{ [ | d = 5 ] }
You can use key and non-key fields in the record.
You can also iterate through all the records in a stream using a "for" loop.