declaration/definition
declare no-default-io
 If an OmniMark program is invoked in an environment in which standard error, standard input, and standard
      output are not available, you will receive a runtime error if you attempt to read standard input or to write to
      standard output or standard error. If you include the no-default-io declaration in your program,
      however, attempts to use these standard I/O mechanisms will be flagged as compile time errors. We recommend that
      you add declare no-default-io to any program that will be invoked in an environment where
      standard I/O is not available. Note that declare no-default-io applies to attempts to
      read #main-input and #process-input and attempts to write
      to #main-output, #process-output, and #error. It cannot detect attempts by
      external functions to write to standard I/O.
      
 When used, declare no-default-io must appear before any rule, function definition, or global
      shelf declaration.
      
 declare no-default-io declaration cannot be used in a module.
      
 declare no-default-io cannot be used in aided translation type programs
      (cross-translate, and context-translate, down-translate, and up-translate).
      
 When using declare no-default-io, #current-output and #current-input do
      not become available until explicitly connected by the program, as shown in this example:
        
declare no-default-io global stream in-file global stream out-file process set in-file to file "inputfile" open out-file as "outputfile" using input as in-file using output as out-file submit #current-input close out-file