Note: because of the advent of CLISP, a free, open-source Common Lisp implementation, I stopped working on XLISP-PLUS in 1999. However recently (December 2010) I did a Mac OS X port making use of the 64-bit architecture. Then I upgraded the Linux version as well. And then I rebuilt the Windows (32 bit) binary!
UPDATE ON 12/2/2011: I have been working on Project Euler problems in XLISP-PLUS. I'll report on this later (I've done 81 of them so far) but IMPORTANT--If you are using bignums you need to compile with xldmem/xlimage and not dldmem/dlimage. I also discovered that the xldmem/xlimage choice works better on modern computers with lots of memory. "Lots of" being what you find an any system now compared to 20 years ago! I have fixed the source code and changed the memory management defaults for all xl305 files on this site.
The new Mac OS X and Linux versions have binaries both with at without Qt4 graphics. The LSP files have also been improved and the documentation has been touched up as well. There is a functionality change in that more of the FORMAT function has been implemented, in particular full implementation of ~R, a fix to a bug in ~*, numerious bugs with ~{, comma insertion in ~:B H D O and R, and addition of ~^. The version number for the new binaries has been changed to 3.05.
XLISP-PLUS is an evolutionary improvement over David Betz's Xlisp 2.1. It contains many enhancements and bug fixes.
XLISP-PLUS contains the work of many individuals. While most have contributed their efforts to the public domain, a few reserve their copyrights when Xlisp is used commercially. For that reason, XLISP-PLUS is only distributed for non-commercial (or educational) use. Don't ask me about commercial applications.
By the way, I've been dabbling in Lisp since first learning it back in 1972, and I wrote a Lisp interpreter for the PDP-11 minicomputer in the mid-70's which was used by several universities.
XLISP-PLUS was designed to run under multiple platforms. Executable files are available here for several 80x86 based operating systems. In other cases, you will need a C compiler and can compile the provided code.
There is another Xlisp version available with different features: XLISP-STAT (Web site). It has a robust statistics package built-in, and is available for multiple platforms. The author of XLISP-STAT is Luke Tierney.
Users of UNIX with X-Windows will probably be interested in the XLISP-PLUS derivative WINTERP 2.10 (Web site) by Niels Mayer.
David Betz came out of Xlisp retirement (he had been working on XScheme) and has produced XLISP 3.0 which is based on XScheme and is available at his web page.
XLISP-PLUS had been kept at version 2.1, with versions changes denoted by suffix letter in anticipation of Xlisp 2.2 or later. Since Xlisp 3.0 is based on XScheme, I do not intend to keep the release numbers in sync anymore. Therefore the current version is now XLISP-PLUS 3.05, which supercedes 2.1H. In general, it has more features than Xlisp 3.0, however Xlisp 3.0 does have a bytecode compiler and probably will run faster.
Here is the change log for XLISP-PLUS going back a few years.
UPDATE ON 5/27/2011: there are always some bugs with any release. The OS X and Linux binaries are revised to fix a problem with symbol name completion. This also changes the linuxstuff.c and osxstuff.c files. The LSP files have some small fixes and additions: the PP function stopped working but that is fixed, I improved the DESCRIBE function for objects and packages, and I added factor.lsp which finds the prime factors of numbers and also determines if a given number is prime.
UPDATE ON 6/24/2011: OS X version wasn't set up for the 8-bit Latin character set. Now it is. And I fixed a latent problem in the code for handling 8-bit character symbol names. Nobody ever reported this, so I guess nobody ever used the 8-bit character set. I've recompiled the OS X binaries but haven't touched the others. Source code is corrected.
UPDATE ON 12/2/2011: Ancient errors involving memory management with DLDMEM.C and BIGNUMS has been fixed. However default is now XLDMEM.C and is set in the xlisp.h file as an option. PRIN1-TO-STRING and PRINC-TO-STRING are now compiled. The defuns in common2.lsp for these are not executed if the functions are already defined. A problem with BIGNUMS and the CLANG compiler (in Mac OS X) has been fixed, resulting in better code for all.
Required files (175k) contains all the XLISP files required for operation, as well as a tutorial and various "readme" files. This archive is the same for every platform. You need this!
Unless you want to punish yourself, I suggest you download documentation. Note that there is on-line documentation for all functions. In addition, if you use the Microsoft Windows version you might be satisfied with the Help File version of the manual. Documentation (1.4MB) is in Microsoft Word format, although a PDF file is also provided.
Source code (356k) is available for all versions in one archive. If executable files are available for your platform, you need not bother to download this.
Excutable files (365k) There is finally a Mac OS X version! I had stopped working on XLISP because CLISP came out as a full, free Common Lisp implementation that offered more performance than XLISP. However there doesn't seem to be good support for the Mac. So I ported Xlisp 3.04. This has all the features that the MS-DOS version had including graphics (requires downloading the QT4 framework at http://qt.nokia.com/downloads/). A version without graphics is also provided. These are 64 bit Intel binaries.
Executable files (438k) in two versions (both are included in the archive). The first is a 16 bit executable for Microsoft Windows 3.1 with an 80386 or better processor. This will also work with OS/2. The second is a 32 bit executable for Windows 95, 98, or NT. It no longer works with Win32s or OS/2. This archive also has on-line help in the form of a Windows HLP file.
The executable here and is a 32 bit binary. Both the non-graphics and graphics (uses the QT4 framework) versions are included.
This archive (190k) contains the executable program. This 32 bit version does not use the Presentation Manager. Long file names (on HPFS volumes) are supported. NOTE that users should recompile the source to get a version with the MEMBER function fixed. I'd appreciate anyone who does this to let me know and send me the EXE file so I can update this archive. Note that this is the older version 3.04.
If you have an 80386 or better processor, you can run the 32 bit protected mode (174k) version. This program uses DJ Delorie's GO32 extender and is compatible with DPMI, VCPI, and XMS. Otherwise, you will need to run the generic MS/DOS (138k) version which will run on just about anything. Either of these will run in a DOS session under OS/2 or Windows 95 or NT. Note that this is the older version 3.04.
Note that the generic version is very limited in the size of the program that it will run. Also, if performance is an issue, the fastest version is that for OS/2, followed by the 32 bit DOS version, then the 32 bit Windows version. The two 16 bit versions (DOS and Windows) should be avoided unless you absolutely have to run them.
|
Tom Almy webmaster8@almy.us |
Last Modified December 2, 2011. |
Return to my HOME PAGE