, written at UC Berkeley
by the students of Professor Richard J. Fateman
, was a Lisp
system based largely on Maclisp
, but written specifically to be a host for running the Macsyma computer algebra system
on a Digital Equipment Corp (DEC) VAX
. It appeared on the scene at the end of 1978 shortly after UC Berkeley
took delivery of their first VAX 11/780 (named Ernie CoVax, the first of many systems with pun names at UCB).
Franz Lisp was distributed with the Berkeley Software Distribution (BSD) for the VAX (free to educational sites). It was also distributed on Eunice, a Berkeley UNIX emulator that ran on VAX/VMS. Piggybacking on the popularity of the BSD package, Franz Lisp was probably the most widely distributed and used Lisp system of the 1970s and 1980s.
At the time of Franz Lisp's creation, the Macsyma computer algebra system ran principally on a DEC PDP-10
. This computer's limited address space caused difficulties. Attempted remedies included ports of Maclisp to Multics
or Lisp Machines
, but even if successful these would only be solutions for MIT
as these machines were expensive and not commonly available. Franz Lisp was the first example of a framework where large Lisp
programs could be run outside the Lisp Machine
environment—at the time, Macsyma was considered a very large program. After being ported to Franz Lisp, Macsyma was distributed to about 50 sites under a license restricted by MIT's interest in making Macsyma proprietary. The VAX Macsyma that ran on Franz Lisp was called Vaxima. When Symbolics Inc.
bought the commercial rights to Macsyma from MIT to sell along with its Lisp Machines, it eventually was compelled to sell Macsyma also on DEC VAX and Sun Microsystems
computers, paying royalties to the University of California for the use of Franz Lisp.
Other Lisp implementations for the VAX were MIT's NIL (never completely functional), University of Utah's Portable Standard Lisp, DEC's VAX Lisp, Xerox's Interlisp-VAX and Le Lisp.
In 1982 the port of Franz Lisp to the Motorola 68000 processor was started. In particular, it was ported to a prototype Sun-1 made by Sun Microsystems, which ran a variant of Berkeley UNIX called SunOS. In 1986, at Purdue University, Franz Lisp was ported to the CCI Power 6/32 platform (code named "Tahoe").
The major contributors to Franz Lisp at UC Berkeley were John K. Foderaro, Keith Sklower and Kevin Layer.
A company was formed to provide support for Franz Lisp called Franz Inc. The founders of Franz Inc. were Richard Fateman, John Foderaro, Fritz Kunze, Kevin Layer and Keith Sklower, all associated with UC Berkeley. After the founding of Franz Inc., development and research on Franz Lisp terminated. The first product of Franz Inc. was Franz Lisp running on various Motorola 68000-based workstations. However, almost immediately Franz Inc. began work on the new dialect of Lisp called Common Lisp.
The Franz Lisp interpreter was written in C
and Franz Lisp. It was bootstrapped solely using the C compiler. The Franz Lisp compiler, written entirely in Franz Lisp, was called Liszt, completing the pun on the name of the composer Franz Liszt
Some notable features of Franz Lisp were arrays in Lisp interchangeable with arrays in Fortran and a foreign function interface which allowed interoperation with other languages at the binary level. Many of the implementation techniques were borrowed from Maclisp: bibop memory organization (BIg Bag Of Pages), small integers represented uniquely by pointers to fixed values in fields, and fast arithmetic.
- Franz Lisp was used as the example language in Robert Wilensky's first edition of Lispcraft.
- An implementation of OPS-5 by DEC on Franz Lisp was used as the basis for a rule-based system for configuring VAX-11 computer system orders and was important to DEC's sales of these computers.
- Slang: a circuit simulator used to design and test the RISC I microprocessor.
- PC-LISP is an implementation of Franz Lisp for MS-DOS which still runs on Windows and DOS emulators today.