Affiliation:
1. Thinking Machines Corp., Cambridge, MA
2. Lucid, Inc., Menlo Park, CA
Abstract
Lisp is the world's greatest programming language—or so its proponents think. The structure of Lisp makes it easy to extend the language or even to implement entirely new dialects without starting from scratch. Overall, the evolution of Lisp has been guided more by institutional rivalry, one-upsmanship, and the glee born of technical cleverness that is characteristic of the “hacker culture” than by sober assessments of technical requirements. Nevertheless this process has eventually produced both an industrial-strength programming language, messy but powerful, and a technically pure dialect, small but powerful, that is suitable for use by programming-language theoreticians.
We pick up where McCarthy's paper in the first HOPL conference left off. We trace the development chronologically from the era of the PDP-6, through the heyday of Interlisp and MacLisp, past the ascension and decline of special purpose Lisp machines, to the present era of standardization activities. We then examine the technical evolution of a few representative language features, including both some notable successes and some notable failures, that illuminate design issues that distinguish Lisp from other programming languages. We also discuss the use of Lisp as a laboratory for designing other programming languages. We conclude with some reflections on the forces that have driven the evolution of Lisp.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
20 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Hygienic macro technology;Proceedings of the ACM on Programming Languages;2020-06-12
2. Evolution of Emacs Lisp;Proceedings of the ACM on Programming Languages;2020-06-12
3. Initialize once, start fast: application initialization at build time;Proceedings of the ACM on Programming Languages;2019-10-10
4. Extensible type-directed editing;Proceedings of the 3rd ACM SIGPLAN International Workshop on Type-Driven Development;2018-09-27
5. Analysis and Resolution of Semantic Ambiguity of Toggle Buttons by Standardizing the Design in Software GUI and Mobile Apps;International Journal of Handheld Computing Research;2017-04