WEGMAN.YKTVMZ%ibm-sj.csnet@csnet-relay.arpa (08/03/84)
From: Mark N. Wegman <WEGMAN.YKTVMZ%ibm-sj.csnet@csnet-relay.arpa>
[This is a response to my request for more information.
I have broken the message into two parts. -- KIL]
A SHORT DESCRIPTION OF LISP/VM
______________________________
A complete LISP system, LISP/VM comprises an
interpreter/compiler for its LISP language and an environ-
ment that includes a syntax-oriented editor and run-time
debugger.
History
Created at the IBM Thomas J. Watson Research Center,
Yorktown Heights, New York, LISP/VM grew out of a decade and
a half of experience producing LISP systems. Early LISP de-
velopments at T. J. Watson were derived from the LISP 1.5
developed by John McCarthy of MIT and distributed by SHARE
for the IBM 704. Subsequent modifications and conversions
by Fred Blair, ran on IBM 7090, 7094, 7040 and 7044 comput-
ers. This created and supported a LISP user community at T.
J. Watson that has persisted to this day.
After the introduction of System/360 in the 1960's, Fred
Blair, assisted by James Griesmer, Mark Pivovonsky and
Joseph Harry, produced LISP/360, which inherited much from
the LISP 1.5 tradition. LISP/360 ran in both the batch en-
vironment of OS/360 and the time-sharing environment of
TSS/360 and VM/CMS. The advent of the IBM System/370 and
the limitations of the 18-bit address space led to the cre-
ation in the mid-1970s of LISP/370. In the natural evolu-
tion of a system created in a research environment, LISP/370
diverged in its semantics from both LISP/360 and LISP 1.5.
It was eventually frozen as an IUP (installed user program)
and made available to internal IBM sites and some customers.
In 1978, a new LISP project that would substantially enhance
the capabilities of LISP/370 was started. Cyril Alberga,
Martin Mikelsons, and Mark Wegman were the authors of this
new LISP system, called YKTLISP, for Yorktown LISP. In ad-
dition to being enhanced functionally, YKTLISP was provided
with a sophisticated programming environment so that users
would be encouraged to write maintainable and readable LISP
programs. It has been used extensively within IBM and is
now released publicly as LISP/VM. Contributors to the ref-
erence manual included the system authors, John Sowa, and
Mary Van Deusen.
Many people have participated in discussions and reviews
which have contributed to the quality of LISP/VM. They in-
clude: Marc Auslander, Len Berman, Fred Blair, Chris
Bosman-Clark, Alan Brown, Larry Carter, Ashok Chandra, Ken
Chatfield, Alan Cobham, Walt Daniels, James Davenport, Doug
DeGroot, Cay Dietrich, Pat Goldberg, Jim Griesmer, Se June
Hong, Dick Jenks, Paul Kosinski, Vincent Kruskal, George
Leeman, Victor Miller, Jim Moore, George Radin, J.A.
Robinson, Dick Ryniker, Marshall Schor, John Sowa, Barry
Trager, Jean Voldman, and Karen Woolhouse.
LISP/VM Overview
The LISP/VM Reference Manual describes in detail the facili-
ties and operators available in LISP/VM. The purpose of
this description is to list the major features of LISP/VM
and some of the implementation details to allow the experi-
enced LISP programmer to compare LISP/VM to other LISP im-
plementations.
LISP/VM is an interactive LISP system for use on the IBM
System/370 computer. A program development environment is
provided which supports:
? A structure editor for LISP functions and data which al-
lows the creation and modification of objects from the
file system and from the dynamic store.
? An interactive interpreter which uses the editor to dis-
play the course of program execution.
? An indexed file system allowing access to LISP functions
and data individually and as collections.
? A compiler which will produce either immediately execut-
able functional objects, or relocatable objects in
files.
? Carefully designed compiler and interpreter semantics.
In most practical cases, interpreted and compiled code
are fully interchangeable.
? An error handler which will, under user control, either
return to the command level or enter a primitive command
level from which the state of the computation may be ex-
amined.
? Pattern matching during lambda-binding and assignment.