Jump to content

The XLISP family: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
mNo edit summary
 
(43 intermediate revisions by 2 users not shown)
Line 1: Line 1:
XLISP is a family of multi-platform [[LISP]] implementations, they comprise of a [[Scheme]] compatible interpreter ([[bytecode]] compiler for versions 3 and higher) called '''XLISP''' originally written by David Betz and he added few object oriented features to the basic Scheme language. The core runtime is written in [[C]] while the rest is implemented in XLISP itself and the program was released in to the [[public domain]] up until about version 2.1 where the license was changed. XLISP 2.1 is also the last Xlisp version to be available in an OS/2 port, although that port is called XLISP-PLUS on [[Hobbes]].
XLISP is a family of multi-platform [[LISP]] implementations. They comprise of a [[Scheme]] compatible interpreter (bytecode compiler for versions 3 and higher) called '''XLISP''' originally written by David Betz. He added few object oriented features taken from [[Smalltalk]] to the basic Scheme language. The core runtime is written in [[C]] while the rest is implemented in XLISP itself. The program was released into the [[public domain]] until about version 2.1 where the license was changed. XLISP 2.1 is also the last version of the original XLISP package to be available in an OS/2 port.


The program was first released in 1983 as '''eXperimental LISP''' and was at the time a generic small LISP subset that was not Scheme compatible.
The program was first released in 1983 as '''eXperimental LISP''' and was at the time a generic small LISP subset that was not Scheme compatible. When the first Scheme compatible version came out Mr. Betz changed the name of the package to '''XScheme''' but changed it back to XLISP after a couple of years. Various versions of the package are used in open source projects externally or internally as scripting engines. It is also the basis for the LISP that is used as an internal scripting engine by AutoCAD (AutoLISP) and some compatible packages like IntelliCAD.


====XLISP-PLUS====
==Forks==
[[Tom Almy]] had ported Xlisp to OS/2 and [[DOS]] and added a [[Microsoft Windows]] and [[Linux]] version, with Xlisp 2.1 he forked the program and introduced his own version called '''XLISP-PLUS'''. It is not known if the fork was due to the licence change introduced with version 2.1 or if it is due to Almy's interest in getting more [[Common Lisp]] features working on the Xlisp system, but the original author resisted adding anything but an object system to the base Scheme specification.
*[[XLISP-PLUS]]
 
**'''WINTERP''' is a derivative of XLISP-PLUS 2.1 that adds widget support for [[UNIX]] like operating systems that have the Motif widget library installed.
XLISP-PLUS adds a host of Common Lisp features to Xlisp but also adds a huge amount of bug fixes, however changes to the original Xlisp such as the [[bytecode]] compiler that was introduced with version 3 have not been integrated in this fork. The maintainer stopped updating XLISP-PLUS in 1999 when [[CLisp]] was taken over by the [[Free Software Foundation]] since the maintainer believed that with the frequent CLisp updates, Xlisp would become "unnecessary". However, after 16 years of inactivity, Mr Almy suddenly kicked into life in early 2016 and created a new 3.05 version of XLISP-PLUS for MS Windows, Linux and [[Mac OSX]], while neither the DOS not the OS/2 version got an update the libraries will function with the 3.04 OS/2 version, and he has also created a new Windows 3.x 16 bit version that will work under OS/2.
*[[XLISP-STAT]]
 
*'''Vienna LISP''', also known as '''VLISP''' is an XLISP fork that is Common LISP compatible and adds a bytecode compiler, note that Vienna LISP is preferred usage over VLISP since there are at the least five other projects that use the VLISP moniker.
====XLISP-STAT====
*'''Nyquist''' is a music programming language based on XLISP.
A fork of XLISP 2.1 with statistical additions, originally developed for the Apple Macintosh in the 1980's but later ported to MS Windows and most [[UNIX]] systems.
*'''S-Lisp''' bolts s 3D graphics library onto XLISP. An Image Algebra or '''ANIMAL''' was an experimental version that handled image processing.
 
====WINTERP====
WINTERP is a derivative of XLISP-PLUS 2.1 that adds widget support for [[UNIX]] like operating systems that have [[Motif]].
 
==Version==
;XLISP-PLUS
* XLISP-PLUS v3.04 (1999-01-09)
:Last known OS/2 version, note that the differences between 3.04 and 3.05 for other systems are primarily in the LISP portion of the code and if you download the xl305req.zip file from the XLISP-PLUS homepage you can run that version with the 3.04 version for OS/2.
* XLISP-PLUS v3.05 (2016-02-19)
* [https://archive.org/details/tucows_32693_XLISP-Plus XLISP-PLUS v2.1gce] (1998-05-28) - Last known [[Palm Pilot]] version.


==Versions==
;XLISP
;XLISP
* XLisp v2.1 (1995/12/27)
*0.0 (Jan 1983)
* Xlisp v3 (1997 - some trivial bug fixes in 1998 and 2002)
*1.0 (Mar 1983)
: Only released in a version for Microsoft Windows
*1.1 (Jun 1983)
*1.2 (Oct 1984)
*1.4 (Jan 1985)
*1.6 (Jan 1986)
*1.7 (Jun 1986)
*2.0 (Feb 1988)
*2.1 (1991)
* XLISP v3 (1997 - some trivial bug fixes in 1998 and 2002)
: Only released in a version for Microsoft Windows, introduces a bytecode compiler.


;WINTERP
;WINTERP
* WINTERP 2.10 (2008) - Last known version.
* WINTERP 2.10 (2008) - Last known version.
: Note that WINTERP release number are not synchronised with XLISP-PLUS, the 2.1 release is similar to a XP version 3.04 rather than the classic XP 2.1.
: Note that WINTERP release numbers are not synchronised with XLISP-PLUS, the 2.1 release is similar to a XP version 3.04 rather than the classic XP 2.1.


;XLISP-STAT
* XLISP-STAT v 3.52.23 (2013-03-20) - Last known version
: Note that XLISP-STAT release number are not synchronised with XLISP-PLUS
==Links==
* [http://hobbes.nmsu.edu/h-viewer.php?dir=/pub/os2/dev/lisp&file=xl21hos2.zip XLisp-Plus v2.1] (1995/12/27)
* [http://www.almy.us/xlisp.html XLISP-Plus Homepage]
* [http://www.xlisp.org/ XLISP Homepage]
* [http://homepage.stat.uiowa.edu/~luke/xls/xlispstat/ Current XLISP-STAT file reprisotory]
* [ftp://ftp.stat.umn.edu/pub/xlispstat Original XLISP-STAT file reprisotory]
* [http://www.stat.unipg.it/luca/xlisp-stat/ Dr. Luca Scrucca's XLSIP-STAT page] - Outdated but contains a number of small add on packages XS and ARC.
* [http://forrest.psych.unc.edu/research/index.html ViSta - the Visual Statistics System] - Add on for XLISP-STAT
* [http://www.gryphel.com/c/sw/program/xlisp/ XLISP for Classic MAC OS/Finder]
==Publications==
==Publications==
* Ernst D. Schmitter: Praktische Einführung in LISP. - 1987 - Hofacker - ISBN 3-88963-229-7
* Bonnie J. Fladung: ''The XLISP Primer'' - Prentice Hall 1987, ISBN 0-13-972084-7
;XLISP-STAT
 
* [http://www.stat.umn.edu/arc/ Applied Regression Including Computing and Graphics] 2nd - 1999 - John Wiley & Sons - ISBN 0-471-31711-X
;Articles
: Note that the homepage also contains a software package that runs on XLISP-STAT called ARC
* David Betz: ''An XLisp Tutorial'' - BYTE, March 1985
* Jan de Leeuw: [https://www.jstatsoft.org/article/view/v013i07/v13i07.pdf On Abandoning XLISP-STAT] - 2005 - In PDF format.
 
;Papers
* Tim I Mikkelsen: ''XLISP 2.0 LANGUAGE REFERENCE'' - 1989
* Tim I Mikkelsen: [http://nielsmayer.com/winterp/doc/XlispOOP.txt XLISP 2.0 OBJECTS PRIMER] - 1990
* Jeff Prothero: [http://nielsmayer.com/winterp/doc/XlispImpl.txt xlisp 2.1 internals] - 1991
 
;ANIMAL
* R. Brunelli; C. M. Modena: ''ANIMAL: An Image Algebra - An image processing environment based on XLISP'' - 1989 [https://tev-static.fbk.eu/people/modena/Papers/BruMod_AF_1989.pdf]


==Licence and availability==
==Licence==
* Open source software
* Open source software
* Xlisp version 2.1 and later are released under the [[Four Clause BSD Licence]], versions prior to that are in the [[public domain]].
* XLISP version 2.1 and later are released under the [[Four Clause BSD Licence]], versions prior to that are in the [[public domain]] except a few versions were shipped with a [[no commercial usage clause]].
* XLISP-PLUS in mainly in the [[public domain]], however a few of the included LISP library files have a [[no commercial usage clause]].
 
* XLISP-STAT is licensed under the [[One Clause BSD Licence]]
Author: David Betz


==Author==
==Links==
* David Betz - Original Xlisp author
* [http://www.xlisp.org/ XLISP Homepage]
* [[Tom Almy]] Original porter of Xlisp to OS/2, maintainer of XLISP-PLUS
* [http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/xlisp/xlisp-index.htm XLISP Functions]
* [http://www.softwarepreservation.org/projects/LISP/xlisp An archive of very early XLISP versions including 0.0 and 1.0]
;Code examples
* [https://github.com/d-podkorytov/veos VEOS] - An old experimental distributed system written in XLISP
* [http://www.iue.tuwien.ac.at/phd/tuppa/diss.html VMAKE] - A software configuration management tool written in Vienna LISP.


[[Category:Tools]]
[[Category:LISP]][[Category:Software written in C]][[Category:Software written in LISP]]
[[Category:LISP]]
[[Category:DOS Tools]]
[[Category:MS Windows Tools]]
[[Category:MAC OSX Tools]]
[[Category:MAC Finder Tools]]
[[Category:Generic Unix Tools]]
[[Category:Open Source Software]]
[[Category:Software written in C]]
[[Category:Software written in LISP]]

Latest revision as of 21:49, 10 January 2023

XLISP is a family of multi-platform LISP implementations. They comprise of a Scheme compatible interpreter (bytecode compiler for versions 3 and higher) called XLISP originally written by David Betz. He added few object oriented features taken from Smalltalk to the basic Scheme language. The core runtime is written in C while the rest is implemented in XLISP itself. The program was released into the public domain until about version 2.1 where the license was changed. XLISP 2.1 is also the last version of the original XLISP package to be available in an OS/2 port.

The program was first released in 1983 as eXperimental LISP and was at the time a generic small LISP subset that was not Scheme compatible. When the first Scheme compatible version came out Mr. Betz changed the name of the package to XScheme but changed it back to XLISP after a couple of years. Various versions of the package are used in open source projects externally or internally as scripting engines. It is also the basis for the LISP that is used as an internal scripting engine by AutoCAD (AutoLISP) and some compatible packages like IntelliCAD.

Forks

  • XLISP-PLUS
    • WINTERP is a derivative of XLISP-PLUS 2.1 that adds widget support for UNIX like operating systems that have the Motif widget library installed.
  • XLISP-STAT
  • Vienna LISP, also known as VLISP is an XLISP fork that is Common LISP compatible and adds a bytecode compiler, note that Vienna LISP is preferred usage over VLISP since there are at the least five other projects that use the VLISP moniker.
  • Nyquist is a music programming language based on XLISP.
  • S-Lisp bolts s 3D graphics library onto XLISP. An Image Algebra or ANIMAL was an experimental version that handled image processing.

Versions

XLISP
  • 0.0 (Jan 1983)
  • 1.0 (Mar 1983)
  • 1.1 (Jun 1983)
  • 1.2 (Oct 1984)
  • 1.4 (Jan 1985)
  • 1.6 (Jan 1986)
  • 1.7 (Jun 1986)
  • 2.0 (Feb 1988)
  • 2.1 (1991)
  • XLISP v3 (1997 - some trivial bug fixes in 1998 and 2002)
Only released in a version for Microsoft Windows, introduces a bytecode compiler.
WINTERP
  • WINTERP 2.10 (2008) - Last known version.
Note that WINTERP release numbers are not synchronised with XLISP-PLUS, the 2.1 release is similar to a XP version 3.04 rather than the classic XP 2.1.

Publications

  • Bonnie J. Fladung: The XLISP Primer - Prentice Hall 1987, ISBN 0-13-972084-7
Articles
  • David Betz: An XLisp Tutorial - BYTE, March 1985
Papers
ANIMAL
  • R. Brunelli; C. M. Modena: ANIMAL: An Image Algebra - An image processing environment based on XLISP - 1989 [1]

Licence

Author: David Betz

Links

Code examples
  • VEOS - An old experimental distributed system written in XLISP
  • VMAKE - A software configuration management tool written in Vienna LISP.