DOC PREVIEW
UA CSC 520 - Study Notes

This preview shows page 1-2 out of 7 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CSc 520Principles of Programming Languages4: Scheme — HistoryChristian CollbergDepartment of Computer ScienceUniversity of [email protected] 2005 Christian CollbergApril 22, 20051 History of the Lisp Languagehttp://www.apl.jhu.edu/~hall/text/Papers/Brief-History-of-Lisp.psThe following information is derived from the history section of dpANS Common Lisp.Lisp is a family of languages with a long history. Early key ideas in Lisp were developed by John McCarthyduring the 1956 Dartmouth Summer Research Project on Artificial Intelligence. McCarthy’s motivation wasto develop analgebraic list processing language for artificial intelligence work. Implementation efforts forearly dialects of Lisp were undertaken on the IBM 704, the IBM 7090, the Digital Equipment Corporation(DEC) PDP-1, the DECPDP-6, and the PDP-10. The primary dialect of Lisp between 1960 and 1965 wasLisp 1.5. By the early 1970’s there were two predominant dialects of Lisp, both arising from these earlyefforts: MacLisp and Interlisp. Forfurther information about very early Lisp dialects, see The Anatomy ofLisp or Lisp 1.5 Programmer’s Manual.2 History of the Lisp Language. . .MacLisp improved on the Lisp 1.5 notion of special variables and error handling. MacLisp also introducedtheconcept of functions that could take a variable number of arguments, macros, arrays, non-local dynamicexits, fast arithmetic, the first good Lisp compiler, and an emphasis on execution speed.Interlisp introduced many ideas into Lisp programming environments and methodology. One of theInterlisp ideasthat influenced Common Lisp was an iteration construct implemented by Warren Teitelmanthat inspired the loop macro used both on the Lisp Machines and in MacLisp, and now in Common Lisp.3 History of the Lisp Language. . .Although the first implementations of Lisp were on the IBM 704 and the IBM 7090, later work focussed ontheDEC PDP-6 and, later, PDP-10 computers, the latter being the mainstay of Lisp and artificial intelligencework at such places as Massachusetts Institute of Technology (MIT), Stanford University, and CarnegieMellon University(CMU) from the mid-1960’s through much of the 1970’s. The PDP-10 computer and its1predecessor the PDP-6 computer were, by design, especially well-suited to Lisp because they had 36-bitwords and 18-bit addresses. Thisarchitecture allowed a cons cell to be stored in one word; single instructionscould extract the car and cdr parts. The PDP-6 and PDP-10 had fast, powerful stack instructions thatenabled fast function calling. But the limitations ofthe PDP-10 were evident by 1973: it supported a smallnumber of researchers using Lisp, and the small, 18-bit address space (262,144 36-bit words) limited the sizeof a single program. One response to the address spaceproblem was the Lisp Machine, a special-purposecomputer designed to run Lisp programs. The other response was to use general-purpose computers withaddress spaces larger than 18 bits, such as the DEC VAX and the S-1 MarkIIA.4 History of the Lisp Language. . .The Lisp machine concept was developed in the late 1960’s. In the early 1970’s, Peter Deutsch, work-ing withDaniel Bobrow, implemented a Lisp on the Alto, a single-user minicomputer, using microcode tointerpret a byte-code implementation language. Shortly thereafter, Richard Greenblatt began work on adifferent hardwareand instruction set design at MIT. Although the Alto was not a total success as a Lispmachine, a dialect of Interlisp known as Interlisp-D became available on the D-series machines manufacturedby Xerox—the Dorado,Dandelion, Dandetiger, and Dove (or Daybreak). An upward-compatible extensionof MacLisp called Lisp Machine Lisp became available on the early MIT Lisp Machines. Commercial Lispmachines from Xerox, LispMachines (LMI), and Symbolics were on the market by 1981. During the late1970’s, Lisp Machine Lisp began to expand towards a much fuller language. Sophisticated lambdalists, setf,multiple values, and structures like those in Common Lisp are the results of early experimentation withprogramming styles by the Lisp Machine group.5 History of the Lisp Language. . .Jonl White and others migrated these features to MacLisp. Around 1980, Scott Fahlman and others atCMU began work on a Lisp to run on the Scientific Personal Integrated Computing Environment (SPICE)workstation. One of the goals of the project was to design a simpler dialect thanLisp Machine Lisp.The Macsyma group at MIT began a project during the late 1970’s called the New Implementation ofLisp (NIL)for the VAX, which was headed by White. One of the stated goals of the NIL project was tofix many of the historic, but annoying, problems with Lisp while retaining significant compatibility withMacLisp.6 History of the Lisp Language. . .Richard P. Gabriel began the design of a Lisp to run on the S-1 Mark IIA supercomputer. S-1 Lisp, never-completely functional, was the test bed for adapting advanced compiler techniques to Lisp implementation.Eventually the S-1 and NIL groups collaborated.The first effort towards Lisp standardization was made in 1969, when Anthony Hearn and Martin Grissat theUniversity of Utah defined Standard Lisp—a subset of Lisp 1.5 and other dialects—to transportREDUCE, a symbolic algebra system. During the 1970’s, the Utah group implemented first a retargetableoptimizing compilerfor Standard Lisp, and then an extended implementation known as Portable StandardLisp (PSL). By the mid 1980’s, PSL ran on about a dozen kinds of computers.7 History of the Lisp Language. . .PSL and Franz Lisp—a MacLisp-like dialect for Unix machines—were the first examples of widely avail-ableLisp dialects on multiple hardware platforms. One of the most important developments in Lisp occurredduring the second half of the 1970’s: Scheme. Scheme,designed by Gerald J. Sussman and Guy L. Steele2Jr., is a simple dialect of Lisp whose design brought to Lisp some of the ideas from programming languagesemantics developed in the 1960’s. Sussman was one of the primeinnovators behind many other advancesin Lisp technology from the late 1960’s through the 1970’s. The major contributions of Scheme were lexi-cal scoping, lexical closures, first-class continuations, and simplified syntax (noseparation of value cells andfunction cells). Some of these contributions made a large impact on the design of Common Lisp. For furtherinformation about Scheme, see IEEE Standard for the Scheme


View Full Document

UA CSC 520 - Study Notes

Documents in this Course
Handout

Handout

13 pages

Semantics

Semantics

15 pages

Haskell

Haskell

15 pages

Recursion

Recursion

18 pages

Semantics

Semantics

12 pages

Scheme

Scheme

32 pages

Syllabus

Syllabus

40 pages

Haskell

Haskell

17 pages

Scheme

Scheme

27 pages

Scheme

Scheme

9 pages

TypeS

TypeS

13 pages

Scheme

Scheme

27 pages

Syllabus

Syllabus

10 pages

Types

Types

16 pages

FORTRAN

FORTRAN

10 pages

Load more
Download Study Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Study Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Study Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?