The Art of the Interpreter or the Modularity Complex (Parts Zero, One, and Two).

Abstract

We examine the effects of various language design decisions on the programming styles available to a user of the language, with particular emphasis on the ability to incrementally construct modular systems. At each step we exhibit an interactive meta-circular interpreter for the language under consideration. Each new interpreter is the result of an incremental change to a previous interpreter. We explore the consequences of various variable binding disciplines and the introduction of side effects. We find that dynamic scoping is unsuitable for constructing procedural abstractions, but has another role as an agent of modularity, being a structured form of side effect. More general side effects are also found to be necessary to promote modular style. We find that the notion of side effect and the notion of equality (object identity) are mutually constraining; to define one is to define the other. The interpreters we exhibit are all written in a simple dialect of LISP, and all implement LISP-like languages. A subset of these interpreters constitute a partial historical reconstruction of the actual evolution of LISP. (Author)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 01, 1978
Accession Number
ADA062925

Entities

People

  • Gerald Jay Sussman
  • Guy Lewis Steele Jr.

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Energy and Power Technologies
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Artificial Intelligence
  • Computational Science
  • Computations
  • Computer Languages
  • Computer Programming
  • Computers
  • Debugging
  • Equations
  • Language
  • Lists (Data Structures)
  • Notation
  • Numbers
  • Programming Languages
  • Random Number Generators
  • Recursive Functions
  • Side Effects
  • Standards

Readers

  • Computational Linguistics
  • Distributed Systems and Data Platform Development
  • Strategic Security Studies