| Franz Lisp | |
|---|---|
| Paradigms | Multi-paradigm:functional,procedural,reflective,meta |
| Family | Lisp |
| Designed by | Richard Fateman, John Foderaro, Kevin Layer, Keith Sklower |
| Developer | University of California, Berkeley |
| First appeared | 1980; 46 years ago (1980) |
| Final release | Final / 1988; 38 years ago (1988) |
| Typing discipline | Dynamic,strong |
| Scope | Static, lexical |
| Implementation language | C, Franz Lisp |
| Platform | VAX,68000 |
| OS | VMS,Unix,Unix-like,Eunice,SunOS |
| License | Proprietary,freeware |
| Influenced by | |
| Lisp,Maclisp,Common Lisp | |
| Influenced | |
| Allegro Common Lisp | |
Incomputer programming,Franz Lisp is a discontinuedLisp programming language system written at theUniversity of California, Berkeley (UC Berkeley, UCB) by ProfessorRichard Fateman and several students, based largely onMaclisp and distributed with theBerkeley Software Distribution (BSD) for theDigital Equipment Corporation (DEC)VAX minicomputer.[1] 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.[2]
The name is a pun on the composer and pianistFranz Liszt.
It was written specifically to be a host for running theMacsymacomputer algebra system on VAX. The project began at the end of 1978, soon after UC Berkeley took delivery of their first VAX 11/780 (named Ernie CoVax, afterErnie Kovacs, the first of many systems with pun names at UCB). Franz Lisp was availablefree of charge to educational sites, and was also distributed onEunice, a BerkeleyUnixemulator that ran onVAXVMS.
At the time of Franz Lisp's creation, the Macsyma computer algebra system ran mainly on a DECPDP-10. This computer's limited address space caused difficulties. Attempted remedies includedports of Maclisp toMultics orLisp machines, but even if successful, these would only be solutions for theMassachusetts Institute of Technology (MIT) as these machines were costly and uncommon. Franz Lisp was the first example of a framework where largeLisp programs could be run outside the Lisp machines environment; Macsyma was then 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 Macsymaproprietary. The VAX Macsyma that ran on Franz Lisp was called Vaxima. WhenSymbolics 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 andSun Microsystems computers, paying royalties to theUniversity of California for the use of Franz Lisp.
Other Lisp implementations for the VAX were MIT'sNIL (never fully functional), University of Utah'sPortable Standard Lisp, DEC's VAX Lisp, Xerox'sInterlisp-VAX, andLe Lisp.
In 1982, the port of Franz Lisp to theMotorola 68000 processor was begun. In particular, it was ported to a prototype Sun-1 made bySun Microsystems, which ran a variant ofBerkeley Software Distribution (BSD)Unix calledSunOS. In 1986, atPurdue University, Franz Lisp was ported to theCCI Power 6/32 platform, code namedTahoe.
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., by foundersRichard Fateman, John Foderaro, Fritz Kunze, Kevin Layer, and Keith Sklower, all associated with UC Berkeley. After that, development and research on Franz Lisp continued for a few years, but the acceptance ofCommon Lisp greatly reduced the need for Franz Lisp. The first product of Franz Inc. was Franz Lisp running on variousMotorola 68000-based workstations. A port of Franz Lisp was even done to VAX VMS forLawrence Berkeley National Laboratory. However, almost immediately Franz Inc. began work on their implementation of Common Lisp,Allegro Common Lisp.
| 1958 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LISP 1, 1.5,LISP 2(abandoned) | |||||||||||||||
| Maclisp | |||||||||||||||
| Interlisp | |||||||||||||||
| MDL | |||||||||||||||
| Lisp Machine Lisp | |||||||||||||||
| Scheme | R5RS | R6RS | R7RS small | ||||||||||||
| NIL | |||||||||||||||
| ZIL (Zork Implementation Language) | |||||||||||||||
| Franz Lisp | |||||||||||||||
| muLisp | |||||||||||||||
| Common Lisp | ANSI standard | ||||||||||||||
| Le Lisp | |||||||||||||||
| MIT Scheme | |||||||||||||||
| XLISP | |||||||||||||||
| T | |||||||||||||||
| Chez Scheme | |||||||||||||||
| Emacs Lisp | |||||||||||||||
| AutoLISP | |||||||||||||||
| PicoLisp | |||||||||||||||
| Gambit | |||||||||||||||
| EuLisp | |||||||||||||||
| ISLISP | |||||||||||||||
| OpenLisp | |||||||||||||||
| PLT Scheme | Racket | ||||||||||||||
| newLISP | |||||||||||||||
| GNU Guile | |||||||||||||||
| Visual LISP | |||||||||||||||
| Clojure | |||||||||||||||
| Arc | |||||||||||||||
| LFE | |||||||||||||||
| Hy | |||||||||||||||
The Franz Lispinterpreter was written inC 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 composerFranz Liszt.
Some notable features of Franz Lisp were arrays in Lisp interchangeable with arrays inFortran and aforeign function interface (FFI) which allowed interoperation with other languages at the binary level. Many of the implementation methods 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.
It evolved into one of the most commonly available Lisp dialects on Unix machines.