Embedded Lisps — Software Preservation Group (original) (raw)

Document Actions

Emacs Lisp

The histories of the Emacs text editor and the Lisp programming language are intertwined: many versions of Emacs have used some dialect of Lisp as an extension language, and several versions (starting with Dan Weinreb's EINE for the Lisp Machine; also ZWEI by Dan Weinreb and Mike McMahon and Multics Emacs by Bernie Greenberg) have been implemented in Lisp.

Papers

LISP Shell (Yale)

Tinylisp (DEC SRC)

XLISP

"I've always wanted to get the history of XLISP straight. I'm a long-time V1.1 hacker, but have yet to move on because it's smaller, easier to understand, and is portable between everything I support (DECstuff) and in my flock (includes CP/M-80).

Is this much of the timeline accurate ? Can anyone fill in some of the holes ?

V1.0 DECUS C (PDT-11/150, RT-11 V?.?), inspired by MacLisp ?
V1.1 1983. Ported to K&R, placed in the PD and submitted to DECUS, BCS, SIG/M.
V1.2 Renamed things to Common Lisp usage; Byte article; CP/M
V1.4 Death to 8-bit machines.
V1.5 ? (I found a CP/M binary for a "tiny XLISP" once.)
V1.7 Macs, PCs, etal.
V2.0 ?
V2.1 Almy ?
...
...
0.18 XSCHEME
0.22 ...
...
...
V3.0 ?"

[Richard C. Secrist, History of XLISP, comp.lang.lisp.x, May 25, 1992]

- - -

"Version 2.0 of XLISP was the first version that supported separate name spaces for functions and values (a bad decision in my opinion) to be compatible with Common Lisp. Version 2.1 added limited support for defstruct and fixed a few bugs in 2.0.

The current version of XScheme is 0.28. I'm working on 0.41, but it will probably never be released because it's likely to turn into XLISP 3.0. Unfortunately, I can't really release it yet because it doesn't support many of the special forms that even XLISP 1.7 supported. Conspicuous things that are missing are unwind-protect, catch/throw, block/return-from, tagbody/go. I suppose I should get those added before I subject the world to this latest hack. Also, XLISP 3.0 currently supports only a single namespace. It is really more like XLISP 1.7 and XScheme than XLISP 2.0 or 2.1. It does have packages and multiple values though." [David Betz, History of XLISP, comp.lang.lisp.x, May 20, 1992]

Source code

Forks of XLISP and applications embedding XLISP or a derivative

ECoLisp / ECL / ECL-Spain / ECL / Embeddable Common Lisp (Università di Pisa)

See ECL in Common Lisp family.

Inflisp for Borland Delphi

Inflisp is a Lisp interpreter written by Joachim Pimiskern in Borland Pascal / Delphi. Its main purpose is to enhance Delphi applications with Artificial Intelligence, but it can also be used for scripting / automation. Pimiskern used Inflisp to program the inference engine for a Go program he wrote.

uLisp for microcontrollers (Arduino, ESP32 etc.)

uLisp was designed by David Johnson-Davies for use on the Arduino and now other microcontrollers. It's an interpreter, allowing interactive development. The language is generally a subset of Common Lisp, but there is a single namespace for functions and variables.

« June 2025 »
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30