Jump to content

The XLISP family: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
mNo edit summary
 
(48 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 [[bytecode]] compiler 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 post 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.


====XLISP-PLUS====
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.
[[Tom Almy]] had ported Xlisp to OS/2 and [[DOS]] and added a [[Microsoft Windows]] 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 adds a host of Common Lisp features to Xlisp
==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.


After 16 years of inactivity, Mr Almy suddenly kicked into life in early 2016 and created a new 3.05 version of XLISP-PLUS
==Publications==
however the libraries will function with the 3.04 OS/2 version, and he has also created a new Windows version that will work under OS/2.
* Bonnie J. Fladung: ''The XLISP Primer'' - Prentice Hall 1987, ISBN 0-13-972084-7


====XLISP-STAT====
;Articles
A fork of Xlisp 2.1 with statistical additions
* David Betz: ''An XLisp Tutorial'' - BYTE, March 1985


. Winterp is a derivative of XLISP-PLUS.
;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


==Version==
;ANIMAL
* XLisp-Plus v3.04 (1999/01/09)
* 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]
* XLisp v2.1 (1995/12/27)
 
* Xlisp v3 (1997 - some trivial bug fixes in 1998 and 2002)
==Licence==
: Only released in a version for Microsoft Windows
* 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]] except a few versions were shipped with a [[no commercial usage clause]].
 
Author: David Betz


==Links==
==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://www.xlisp.org/ XLISP Homepage]
* [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.


==Licence and availability==
[[Category:LISP]][[Category:Software written in C]][[Category:Software written in LISP]]
* 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]].
 
==Author==
* David Betz - Original Xlisp author
* [[Tom Almy]] Original porter of Xlisp to OS/2, maintainer of XLISP-PLUS
 
[[Category:Tools]]
[[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.