skip to main content
Constraint imperative programming
Publisher:
  • University of Washington
  • Computer Science Dept. Fr-35 112 Sieg Hall Seattle, WA
  • United States
Order Number:UMI Order No. GAX92-03256
Bibliometrics
Skip Abstract Section
Abstract

Two major programming language paradigms are the imperative and declarative ones. Software engineers typically use concepts from both paradigms when designing a system, yet are forced to implement those ideas in a single-paradigm programming language. This dissertation presents an integration of specific features from the imperative and declarative paradigms in a new programming language framework: Constraint Imperative Programming. Explicit control flow and destructive assignment are taken from the imperative paradigm. Explicit, system-maintained constraints (i.e., data relations) are taken from the declarative paradigm. This dissertation claims that this integrated framework has a clean, well-defined semantics, and that languages in this framework can be implemented with reasonable efficiency. This dissertation further claims that these languages are more expressive than purely imperative or purely constraint languages, because they allow each concept to be expressed in whichever fundamental paradigm is most suitable, rather than forcing them all into a single paradigm. This dissertation includes a semantic definition of Constraint imperative Programming (CIP), a discussion of the design issues for CIP languages, and a proof-of-concept implementation: Kaleidoscope 90.

Contributors
  • University of Washington

Recommendations