1 [This directory is included in XLISP-STAT to allow building of a pure
2 XLISP without the statistical code. It is also available separately.]
4 This is a version of XLISP-PLUS 3.0 that includes a byte code
5 compiler. This version is derived from XLISP-STAT 2.1 R3 by deleting
6 the statistical code. I have only used the compiler options relevant
7 to XLISP-STAT; other options may or may not work. There are also some
8 other minor and/or gratuitous differences included to support the
9 statistical code of XLISP-STAT.
11 To build this system, start by running configure,
15 This creates a Makefile. Look at the Makefile and check the variables
16 BINDIR, LIBDIR, CFLAGS, and CC. by default, BINDIR and LIBDIR are
18 LIBDIR=$(prefix)/lib/xlisp
19 BINDIR=$(exec_prefix)/bin
21 with prefix and exec_prefix set to /usr/local. You can give configure
22 a different prefix by using
24 configure --prefix=/my/prefix/dir
26 An alternate exec_prefix can be given similarly. You can specify gcc
31 flag with configure (I have not tested this on all systems).
34 After running configure, run
38 This builds the executable, compiles some .lsp files to .fsl files,
39 and creates a shell script and saved workspace. Doing
43 installs the shell script, executable, and workspace.
48 lsp .lsp files form Tom Almy's xlisp21f distribution
49 cmplsp modified .lsp files for use with the compiler
50 compiler the compiler code
52 The interface to the compiler is through the functions
57 These accept the arguments described in CLtL2. In addition,
59 COMPILE-FILE accepts the keyword :PRINT-SYMBOL-PACKAGE with
60 default value *COMPILE-PRINT-SYMBOL-PACKAGE*, initially NIL.
61 The .fsl files created by the compiler are text files that are
62 read with the standard reader. Symbols are printed accrording
63 to the current package when this argument is NIL. That works
64 fine most of the time. But if you do a lot of importing and
65 exporting things may get confused; in that case you can give
66 this keyword argument as T, or set the variable to T. The
67 resulting .fsl files should then contain fully qualified names
68 for all symbols. This is safer but takes up more space.
70 The variable XLSCMP::*COMPILE-WARN-SPECIALS*, initially NIL,
71 determines whether the compiler issues warnings when it
72 encounters a reference to a global variable that is not
73 special. This is useful for debugging, but may get annoying if
74 classes are defined as in cmpclasses.lsp as non-special globals.
78 University of Minnesota