Extensibility in Programming Language Design

Reference: Thomas A. Standish (1975). National Computer Conference 1975 (AFIPS). Source file: 1499949.1500003.pdf. URL

Summary

A retrospective on the 1960s-70s “extensible languages” movement. Standish catalogues extension techniques (paraphrase, orthophrase, metaphrase), reviews what the early community hoped for — a universal base language that any user could tailor with modest effort — and explains why those hopes were only partly realised. He concludes that extensibility relates to high-level languages the way macros relate to assembly: useful for suppressing low-level detail and masking irritating features, but not the programming revolution once promised.

The paper is an early, honest assessment of why language extension is harder than anticipated, introducing vocabulary still used today.

Key Ideas

  • Paraphrase: defining new forms via existing ones (macros, procedures)
  • Orthophrase: adding orthogonal features that cannot be paraphrased
  • Metaphrase: altering interpretation rules (scoping, evaluation)
  • Early euphoria vs realistic assessment of labour/skill costs
  • 27 extensible languages proposed by 55 people by 1975

Connections

Conceptual Contribution

Tags

#language-design #extensibility #history #macros

Backlinks