This document is not intended to be a complete manual. However,
documentation for of many of the commands available is given in the
appendix. Brief help messages for these and other commands are available
through the interactive help facility described in Section
below.
XLISP itself is a high level programming language developed by David Betz and placed in the public domain. It is a dialect of Lisp, most closely related to the Common Lisp dialect. XLISP also contains some extensions to Lisp to support object oriented programming. These facilities have been modified in XLISP-STAT to implement the screen menus, plots and regression models. Several excellent books on Common Lisp are available. One example is Winston and Horn [15]. A book on XLISP itself has recently been published. Unfortunately it is based on XLISP 1.7, which differs significantly from XLISP 2.0, the basis of XLISP-STAT 2.0. Documentation on XLISP 2.0 is included in the source code distribution; a copy is available from me. Betz has also written a tutorial introduction to XLISP for BYTE [4]. However, this deals with version 1.2, which again differs significantly from version 2.0.
This document deals primarily with Version 2.0 of XLISP-STAT for the Apple Macintosh. XLISP-STAT is also available for 4.[23]BSD UNIX and for running under suntools on Sun computers. The basic UNIX version presently supports non-interactive plotting for tektronix terminals via the gnuplot routines. When running on a Sun console under suntools interactive graphics are available.
The Macintosh version of XLISP-STAT was developed and compiled using the Lightspeed C compiler from Think Technologies, Inc. The Macintosh user interface is based on Paul DuBois' TransSkel and TransEdit libraries. Some of the linear algebra and probability functions are based on code given in Press, Flannery, Teukolsky and Vetterling [11]. Regression computations are carried out using the sweep algorithm as described in Weisberg [14].
This tutorial has borrowed several ideas from Gary Oehlert's MacAnova User's Guide [10]. Many of the on-line help entries have been adopted directly or with minor modifications from the Kyoto Common Lisp System. Most of the examples used in this tutorial have been taken from Devore and Peck [8]. Many of the functions added to XLISP-STAT were motivated by similar functions in the S statistical environment [1,2].
The present version of XLISP-STAT 2.0 seems to run fairly comfortably on a Mac II or Mac Plus with 2MB of memory, but is a bit cramped with only 1MB. It will not run in less than 1Mb of memory. The program will occasionally bomb with an ID=28 if it gets into a recursion that is too deep for the Macintosh stack to handle. On a 1MB Mac it may also bomb with an ID=15 if too much memory has been used for the segment loader to be able to bring in a required code segment.
Development of XLISP-STAT was supported in part by grants of an Apple Macintosh Plus computer and hard disk and a Macintosh II computer from the MinneMac Project at the University of Minnesota, by a single quarter leave granted to the author by the University of Minnesota, and by grant DMS-8705646 from the National Science Foundation.