[net.ai] Lisp/VM - History and Overview

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.