Nothing Special   »   [go: up one dir, main page]

Jump to content

Franz Lisp

From Wikipedia, the free encyclopedia
Franz Lisp
4.3 BSD from the University of Wisconsin, displaying a Franz Lisp man page
ParadigmsMulti-paradigm: functional, procedural, reflective, meta
FamilyLisp
Designed byRichard Fateman, John Foderaro, Kevin Layer, Keith Sklower
DeveloperUniversity of California, Berkeley
First appeared1980; 44 years ago (1980)
Final release
Final / 1988; 36 years ago (1988)
Typing disciplineDynamic, strong
ScopeStatic, lexical
Implementation languageC, Franz Lisp
PlatformVAX, 68000
OSVMS, Unix, Unix-like, Eunice, SunOS
LicenseProprietary, freeware
Influenced by
Lisp, Maclisp, Common Lisp
Influenced
Allegro Common Lisp

In computer programming, Franz Lisp is a discontinued Lisp programming language system written at the University of California, Berkeley (UC Berkeley, UCB) by Professor Richard Fateman and several students, based largely on Maclisp and distributed with the Berkeley Software Distribution (BSD) for the Digital 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 pianist Franz Liszt.

It was written specifically to be a host for running the Macsyma computer 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, after Ernie Kovacs, the first of many systems with pun names at UCB). Franz Lisp was available free of charge to educational sites, and was also distributed on Eunice, a Berkeley Unix emulator that ran on VAX VMS.

History

[edit]

At the time of Franz Lisp's creation, the Macsyma computer algebra system ran mainly 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 the Massachusetts Institute of Technology (MIT) as these machines were costly and uncommon. Franz Lisp was the first example of a framework where large Lisp 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 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 fully 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 begun. In particular, it was ported to a prototype Sun-1 made by Sun Microsystems, which ran a variant of Berkeley Software Distribution (BSD) 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., by founders Richard 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 of Common Lisp greatly reduced the need for Franz Lisp. The first product of Franz Inc. was Franz Lisp running on various Motorola 68000-based workstations. A port of Franz Lisp was even done to VAX VMS for Lawrence 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
 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
 Chialisp

Features

[edit]

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 (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.

Important applications

[edit]
  • Franz Lisp was used as the example language in Robert Wilensky's first edition of Lispcraft
  • An implementation of OPS5 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 reduced instruction set computer RISC-I microprocessor
  • As a derivative: Cadence Design Systems Skill programming language

See also

[edit]

References

[edit]
  1. ^ "History of Franz Inc". Franz Inc. Retrieved 2018-12-23.
  2. ^ Gabriel, Richard P. (May 1985). Performance and evaluation of Lisp systems (PDF). Cambridge, Massachusetts: MIT Press; Computer Systems Series. pp. 60, 294. ISBN 0-262-07093-6. LCCN 85-15161. Archived from the original (PDF) on 2004-12-21. It evolved into one of the most commonly available Lisp dialects on Unix machines.
[edit]