SWI-Prolog 3.2.6 for OpenVMS VAX 7.3
====================================

A standalone Prolog system (Edinburgh syntax, ISO-style built-ins, modules,
garbage collection, DCG, assert/retract, format/2, a standard library) built
with Compaq C 6.4 from the 1999 sources of Jan Wielemaker's SWI-Prolog
(University of Amsterdam), http://www.swi-prolog.org/ .  The port to VAX/VMS
needed 12 small patches (about 140 changed lines), a hand-written config.h and a
DCL build procedure; they are in [.SOURCE].  This kit: Douglas P. Fields, Jr.
(symbolics@lisp.engineer), 15-OCT-2026.

Install (as SYSTEM, from the directory holding the saveset and the
procedures; no INSTALL, no startup-file edit, no privileged image):

    $ @PROLOG_INSTALL                 install into SYS$COMMON:[SYSLIB.PROLOG]
    $ @PROLOG_INSTALL "" REPLACE      replace an installed copy
    $ @PROLOG_UNINSTALL               remove exactly what the manifest recorded
    $ @PROLOG_UNINSTALL CHECK         say what would be removed

Use (each user, once per login, or from LOGIN.COM):

    $ @SYS$COMMON:[SYSLIB.PROLOG]PROLOG_SETUP
    $ PL                              interactive; end with  halt.  or Ctrl/Z
    $ PL "-q" "-f" FILE.PL "-t" "halt"    run a program; quote the switches

Examples and expected output: SYS$COMMON:[SYSLIB.PROLOG.EXAMPLES]; run
@RUN_EXAMPLES there.  The manual (HTML) is in [.DOC].  The library is
[.LIBRARY]; library predicates (append/3, member/2, ...) are loaded when first
called (autoload).

What is different on a VAX (all tested on VAX90 and VAX60):

 * Integers are 32 bits; an integer result that does not fit becomes a float
   (there is no GMP).  Floats are VAX D_floating: about 17 significant digits
   but a range of only 1.7e38.  A VAX has no infinity and no NaN: an
   overflowing + - * / raises evaluation_error(float_overflow) (the hardware
   would otherwise kill the process); a float literal beyond the range is a
   syntax error.
 * File names are VMS names ('SYS$SCRATCH:FILE.TXT', '[DIR]FILE.PL') or
   Unix-style names (/sys$scratch/file.txt, ../x.pl); `$' is not a variable
   marker in file names.
 * shell/1 and shell/2 run DCL commands (the exit status is the DCL status).
 * No foreign language interface, no readline, no profiler, no GUI.

Licence: SWI-Prolog LICENCE (LICENSE.TXT).  Sources and provenance:
SOURCES.TXT and [.SOURCE].
