An alpha-level new release of XLISP-STAT, Release 3.47, is now available for anonymous ftp from umnstat.stat.umn.edu (128.101.51.1) in pub/xlispstat/Alpha UNIX sources, Macintosh and MS Windows executables are provided. This is not intended as a general release. I am making this preliminary release to get some help working out any kinks introduced by a large number of internal changes I made. Most of the changes should be under the hood and have no visible effect on user code. (At lest that is the theory). If you do try this version, please let me know how it works out, in particular if you run into problems. This release does add some functionality at the Lisp level, such handling of 'apply' place forms in setf, BOA constructors in defstruct, and a simple version of symbol-macrolet. It also includes changes in the linear algebra routines that should speed up regression and glim computations for larger models (10 variables, 100 cases and up at least). The internal changes to the linear algebra system are not yet documented since they are not completely finalized, but if you are interested you can look at linalg.lsp to get an adea of where things are headed. There is one important change, however: **** ALL .FSL FILES NEED TO BE RECOMPILED **** for use with this release. Old files may in fact still work if they do not use any of the features that changed, but if they don't work, the nature of failure is not predictable. Old .fsl files did not contain version information to use for signaling a possible incompatibility, but ones prodced by this and future releases will contain such information. Changes: 3.44 - 3.45: Fixed bug in window size and location messages in MS Windows version (only seemed to affect Win16 version). 3.45 - 3.46: Added debug option to MSDOS makefile. Added blas tests and tests for matmult and sweep stuff to test files. Reimplemented matmult, sweep code, and other matrix code to use C arrays and BLAS/LINPACK/EISPACK. Added direct interface to some LINPACK, EISPACK, BLAS Level 2 and BLAS Level 3 routines. Added some utility functions to support using C arrays. Added THE macro. Changed regression-model-proto compute, :fit-values, and :x methods to use internal C arrays and to use diagonals from sweep matrix in tolerance assessment. Added +Onolimit to UCFLAGS for HP so xlbcode.c gets optimized. Fixed macro version of in-package to avoid core dump if package does not exist. 3.46 - 3.47: Added test for System V matherr function to configure.in; added matherr function to stuff files for handling errors signaled with matherr. Fixed bug in simplifier for VALUES and VALUES-LIST to find bound continuation. Made complex math stuff local to xlmath2.c. Cleaned up complex math code; changed to use f2c and SLAPACK routines. Made handling of infinities, NaN's in format standard. Reimpelemted defstruct as macro. New version allows BOA constuctors. Also defines compiler macro for accessors -- may not be optimal. Added version check for FSL files. Added limit on number of backtrack steps in newtonmax to avoid NaN problems Dropped STRCAT entry from xlisp.hlp; updated SUBSEQ entry. Fixed destructuring-bind to work on list arguments other than only the first added several internal setf methods; new opcodes for car and cdr setf methods Added environment functions variable-information, function-information, etc.. Added macro-function. Modified macroexpand and macroexpand-1 to look for FSUBR macros in the MACRO property of a symbol. Fixed up order of &whole and &environment processing. Changed macro expander functions to be as specified in CLtL2. Changed setf to macro. Added macro version of locally and function special-form-p. Added define-compiler-macro. Split Common Lisp code into three files, common.lsp, common2.lsp and common3.lsp. Added some more setf methods for things handled by the internal version. Changed compile-file's macrolet handler to use parse-macro. Fixed macrolet handler in compiler to use parse-macro. Added macro definitions for some non-standard special forms. Added symbol-macrolet as autoload. Added *simplify-setf* variable for controlling setf expansion. Added function definition for complement replacing internal FSUBR. Patched SunOS 4.1.3 printing problem. Internal version of memmove is now used if none is found in standard libraries by configure. Added opcode for %INITIALIZE-0 to handle initialization for functions with only required args. Added apply setf method. Changed to have oscheck checked on every do_goto in byte code.