VAX LISP/ULTRIX User's Guide

Order Number: AA-EV0OBA-TE

This "VAX LISP/ULTRIX User's Guide" from May 1986, for ULTRIX-32 (versions 1.2) and VAX LISP/ULTRIX (version 2.0), serves as a comprehensive manual for LISP language programmers.

The document is divided into two main parts and an appendix:

Part I: VAX LISP/ULTRIX System Concepts and Facilities This section introduces the VAX LISP environment and its features:

  • Introduction to VAX LISP: Provides an overview of the LISP language as implemented on ULTRIX, highlighting key components like the interpreter, compiler, error handler, debugging facilities, pretty printer, call-out and alien structure facilities, and specific VAX LISP functions and macros. It also covers online help and ULTRIX file specifications (filenames, pathnames, and default file types like .fas, .lis, .lsp, and .sus).
  • Using VAX LISP: Explains how to interact with the system, including invoking and exiting LISP, entering and deleting input, using control key sequences, creating and loading programs from files, and compiling LISP expressions and files. It discusses the advantages and disadvantages of compiling and details various vaxlisp command options (e.g., for compilation, error action, initialization, memory, optimization, verbose output, and warning control) and modes of operation (compile, interactive, resume). It also covers creating and resuming "suspended systems" (saved LISP sessions).
  • Error Handling: Describes the VAX LISP error handler, including different error types (fatal, continuable, warnings) and how to define custom error handlers using UNIVERSAL-ERROR-HANDLER.
  • Debugging Facilities: Details various tools for program debugging, such as control variables (*DEBUG-PRINT-LENGTH*, *DEBUG-PRINT-LEVEL*), the control stack, the Break Loop, the Debugger (with its commands and modifiers like DEBUG-CALL), the Stepper, and the Tracer (including tracer options and variables like *TRACE-CALL*, *TRACE-VALUES*).
  • Pretty Printing and Extensions to FORMAT: Explains how to format LISP output for readability using default pretty-printing functions (PPRINT), control variables (*PRINT-RIGHT-MARGIN*, *PRINT-MISER-WIDTH*, *PRINT-LINES*), and extensions to the FORMAT function (e.g., for logical blocks, new lines, indentation, prefixes, suffixes, and tabular output). It also covers defining custom FORMAT directives and generalized print functions.
  • VAX LISP/ULTRIX Implementation Notes: Provides technical details specific to the VAX LISP implementation on ULTRIX, including data representation (numbers, characters, arrays, strings), detailed pathname semantics, the garbage collector's behavior (frequency, messages, failures), input/output mechanisms, keyboard functions, and compiler restrictions and optimizations.

Part II: VAX LISP/ULTRIX Function, Macro, and Variable Descriptions This part serves as a reference, providing detailed descriptions of VAX LISP-specific functions, macros, and variables, as well as COMMON LISP objects that have particular implementation characteristics in VAX LISP. Each entry includes its format, arguments, return values, and examples of use.

Appendix A: Performance Hints This appendix offers advice on optimizing LISP code for execution speed and memory usage, focusing on efficient use of data structures (integers, floating-point numbers, ratios, characters, symbols, lists, vectors, hash tables) and functions, as well as the role of declarations and compiler requirements in performance.

In essence, the guide is a comprehensive resource for LISP programmers to effectively write, debug, and optimize LISP applications within the VAX LISP/ULTRIX environment.

AA-EV0OBA-TE
May 1986
298 pages
Quality

Original
16MB

Site structure and layout ©2025 Majenko Technologies