XLISP-PLUS 3.05 (and XLISP 1.4) for OpenVMS VAX 7.3 -- installation kit ======================================================================= Built 14-OCT-2026 with DEC C (Compaq C) 6.4 on a VAXstation 4000/90 by Douglas P. Fields, Jr. (symbolics@lisp.engineer). Nothing in this kit needs VAX C. WHAT IT IS XLISP is David Betz's small Lisp with its own object system (classes and messages). XLISP-PLUS 3.05 is Tom Almy's Common-Lisp-flavoured development of XLISP 2.1: bignums, ratios, complex numbers, structures, &key arguments, FORMAT, sequences, and more. XLISP 1.4 (1985) is the very small original (integers only, no FORMAT), kept as a historical curiosity and called XLISP14. LICENCE (read LICENSE.TXT): "Permission is granted for unrestricted non-commercial use." Do not use this kit commercially. WHAT IS IN THE SAVESET XLISP.EXE XLISP-PLUS 3.05 (new OpenVMS system module, see SOURCES.TXT) XLISP14.EXE XLISP 1.4 (unchanged 1985 sources, built with DEC C) [.LSP] the XLISP-PLUS Lisp library (INIT.LSP and the examples that come with it) [.XLISP14] the 1.4 library (INIT.LSP, OBJECT.LSP, PROLOG.LSP, TRACE.LSP, FACT.LSP) [.DOC] text documentation (XLISPDOC.TXT, LISP-TUT.DOC, XLISPINS.DOC, READ.ME, READMEUPD.TXT, XLISP14.DOC) [.EXAMPLES] five example programs with expected output and RUN_EXAMPLES.COM XLISP_SETUP.COM, XLISP_INSTALL.COM, XLISP_UNINSTALL.COM, README.TXT, LICENSE.TXT, SOURCES.TXT INSTALL (as SYSTEM; needs SYSPRV; nothing else on the system is touched) $ @XLISP_INSTALL ! finds XLISP_VAX_*.BCK next to it; REPLACE as P2 to reinstall Files go to SYS$COMMON:[SYSLIB.XLISP], owner [1,4], world read/execute. No INSTALL, no rights identifier, no SYSTARTUP/SYLOGIN/SYSUAF change. A manifest of every file (name, size, revision date) is written; the installer ends with a smoke test. UNINSTALL $ @SYS$COMMON:[SYSLIB.XLISP]XLISP_UNINSTALL [CHECK] Removes only the files recorded in the manifest and still unchanged; CHECK only lists. USE (each user, once per login or from LOGIN.COM) $ @SYS$COMMON:[SYSLIB.XLISP]XLISP_SETUP $ XLISP ! read-eval-print loop; (exit) or Ctrl/Z to leave $ XLISP "-b" MYFILE.LSP ! load MYFILE.LSP; an uncaught error ends the program $ XLISP14 ! the 1985 version Switches must be in quotes (DCL changes case). "-b" means "batch": any uncaught error ends the program instead of entering the break loop; at end of input it exits. Ctrl/C returns to the top level. Ctrl/Y returns to DCL (the program is only suspended: CONTINUE resumes it, any other command or LOGOUT ends it; no process is left). Ctrl/Z at the prompt ends the program (in a break loop it first returns one level). ERRSET catches errors only when *BREAKENABLE* is NIL (see EXAMPLES]FILEIO.LSP). XLISP looks for INIT.LSP and for LOAD file names without a directory in XLPATH: (the logical name XLPATH, set by XLISP_SETUP to the .LSP directory unless you defined it; a search list works) and then in the current directory. Calling DCL: (system "DIRECTORY") returns T for an odd (success) VMS status, else the status number. Examples: @SYS$COMMON:[SYSLIB.XLISP.EXAMPLES]RUN_EXAMPLES. THE VMS-SPECIFIC BEHAVIOUR (what the new system module does) * Input is read a line at a time; the terminal driver echoes and edits it. * Floating point is G_floating (range 1E308, as on IEEE machines). * File names are VMS names (logical names, devices, directories, versions). * (system "") is an error (no interactive subprocess is ever left behind). * GET-KEY and POPEN are not available. Workspace SAVE/RESTORE are untested.