The Definition and Implementation of a Computer Programming Language Based on Constraints

  • Authors:
  • Guy L. Steele, Jr.

  • Affiliations:
  • -

  • Venue:
  • The Definition and Implementation of a Computer Programming Language Based on Constraints
  • Year:
  • 1980

Quantified Score

Hi-index 0.02

Visualization

Abstract

The constraint paradigm is a model of computation in which values are deduced whenever possible, but deductions must be {\it local}. One may visualize a constraint ``program" as a network of devices connected by wires. Data values may flow along the wires, and computation is performed by the devices, which use only locally available information (with a few exceptions), and places newly derived values on other, locally attached wires. In this way computed values are {\it propagated}. Advantages and disadvantages of the constraint paradigm are discussed, and a number of implementations of its programming languages are presented. The goal approached, though not quite reached, is a complete programming system which will implicitly support the constraint paradigm to the same extent that LISP, say, supports automatic storage management.