Icon 9.0 for OpenVMS VAX 7.3 -- examples and tests, 12-OCT-2026
===============================================================

Douglas P. Fields, Jr. (symbolics@lisp.engineer)

Eleven programs with a DCL test. The same files are installed with the kit
in SYS$COMMON:[SYSLIB.ICON.EXAMPLES]; this archive is for reading them
without installing.

Send every file as TEXT (FTP "ascii"). Put them all in one directory on the
VAX (a flat directory: the test procedure finds the programs and the
expected output beside itself), then, as an ordinary user:

  $ @SYS$COMMON:[SYSLIB.ICON]ICON_SETUP
  $ @RUN_TESTS

RUN_TESTS translates and runs each program in a scratch directory
([.ICONTEST] under your login directory, or the directory you name as its
first parameter), compares the output with the expected file, compiles
QUEENS with ICONC (needs Compaq C), runs a program-library test and a
program that must be rejected. It ends "PASS 13 of 13". The expected files
were written by independent Python code (examples/make_expected.py), not
by running Icon. The "%DCL-W-IVVERB ... \THISISNOTACOMMAND\" line is
normal.

examples/
  README.md       What each program shows, and notes on writing Icon on
                  this port.
  HELLO.ICN       &version, &features, a goal-directed sum.
  QUEENS.ICN      n queens, 4 to 8 (92 solutions for 8), as one recursive
                  generator.
  WORDFREQ.ICN    String scanning, a table, sorting.
  CALC.ICN        A recursive-descent calculator by scanning, with
                  arbitrary-precision integers.
  SUDOKU.ICN      Backtracking with the fewest-candidates rule.
  COEXPR.ICN      Co-expressions: pipelines, merging, producer and
                  consumer, nested chains.
  LABNET.ICN      Dijkstra's shortest paths.
  RMSFILE.ICN     RMS files: write, append, read, sort, rename, delete.
  VMSINFO.ICN     VMS from Icon through DCL pipes; checked against DCL's
                  own lexical functions.
  VMSCALL.ICN     The same through callout(): $GETJPIW, $GETSYIW, $TRNLNM,
                  $GETTIM/$ASCTIM, $GETMSG.
  IPLTEST.ICN     Procedures from the Icon program library.
  *_IN.TXT, *_EXP.TXT
                  Inputs and expected output.
  RUN_TESTS.COM   The test procedure.
  make_expected.py
                  Host-side Python 3 that computes the expected files.
