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.