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].