The Evolution of Lisp

  title={The Evolution of Lisp},
  author={Richard P. Gabriel and Guy L. Steele},
  journal={Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications},
  • R. Gabriel, G. Steele
  • Published 19 October 2008
  • Computer Science
  • Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
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… 
34 Citations
A history of Clojure
  • R. Hickey
  • Computer Science
    Proc. ACM Program. Lang.
  • 2020
The motivation behind the initial development of Clojure and the rationale for various design decisions and language constructs are recounted, and its evolution subsequent to release and adoption is covered.
Plan Executor MES: Manufacturing Execution System Combined with a Planner for Industry 4.0 Production Systems
This paper proposes an architecture for a new generation of manufacturing execution systems that are tightly coupled with planners that are demonstrated on the Industry 4.0 Testbed use-case.
Corpus-based empirical research in software engineering
This thesis suggests a method of corpus (re-)engineering and applies it to an existing collection of Java projects and performs two extensive empirical studies, where it performs a broad and diverse range of analyses on the language for privacy preferences (P3P) and on object-oriented application programming interfaces (APIs).
An Array and List Processing System
It is shown how using their common features as design principles, the mathematical power of APL and the flexibility of LISP are combined into a simple yet effective tool for diverse system engineering tasks.
Bootstrapping a Compiler for an Equation-Based Object-Oriented Language
This paper reports on the first bootstrapping of a full-scale EOO (Equation-based Object-Oriented) modeling language such as Modelica, and the OpenModelica Compiler has been written in this MetaModelica language.
Unifying Textual and Visual: A Theoretical Account of the Visual Perception of Programming Languages
This work suggests that the gap between textual and graphical languages is narrow, and that all kind of programming languages should rely on the capability of the human visual system.
A Data Flow Language to Develop High Performance Computing DSLs
DFL abstracts the key concepts such systems as SMP tasks for multicores, kernels for accelerators and high-level operations for distributed computing, and leverages the hybrid MPI/OmpSs data-flow programming model to efficiently implement the previous concepts.
Existe-t-il une différence entre langages visuels et textuels en termes de perception?
La Sémiologie Graphique and le modèle d'analyse ScanVis remettent en question cette opposition and unifient les langages visuels et textuels en termes of perception visuelle.
An Optimized R5RS Macro Expander
In order to improve macro expansion times for Racket, this work implements an existing expansion algorithm for R5RS Scheme macros, which comprise a subset of Racket’s macro system, and uses that implementation to explore optimization opportunities, and appears to be the fastest implementation of a R5 RS macro expander in a high-level language.


The Art of Computer Programming
The arrangement of this invention provides a strong vibration free hold-down mechanism while avoiding a large pressure drop to the flow of coolant fluid.
LAMBDA: The Ultimate Declarative
A new view of LAMBDA as a {\it renaming} operator is presented and contrasted with the usual functional view taken by LISP, which leads to several new insights into the nature of the LISp evaluation mechanism and the symmetry between form and function, evaluation and application, and control and environment.
Syntactic extensions in the programming language LISP
A new macro declaration tool is designed that addresses each of the five problems from which the traditional tools suffer, and a new macro expansion algorithm is developed that eliminates the capturing problem.
Fast arithmetic in MacLISP
Abstract : MacLISP provides a compiler which produces numerical code competitive in speed with some FORTRAN implementations and yet compatible with the rest of the MacLISP system. All numerical
The multics system: an examination of its structure
The author builds a picture of the life of a process in coexistence with other processes, and suggests ways to model or construct subsystems that are far more complex than could be implemented using predecessor computer facilities.
Data Representations in PDP-10 MACLISP
The internal representations of the various MacLISP data types are presented and discussed, and the basic strategy of garbage collection is outlined, with reference to the specific representations involved.
Common Lisp the Language
This greatly expanded edition of the defacto standard is written by the Vice- Chairman of X3J13 (the ANSI committee responsible for the standardization of Common Lisp) and contains the entire text of the first edition plus six completely new chapters.
Lambda: The Ultimate Imperative
We demonstrate how to model the following common programming constructs in terms of an applicative order language similar to LISP: Simple Recursion, Iteration, Compound Statements and Expressions, GO