Key points are not available for this paper at this time.
Two major paradigms in computer programming languages are imperative and declarative programming. The authors describe a scheme for languages that integrate specific features from these two paradigms into a new framework: constraint imperative programming. The authors discuss the design and implementation of a particular instance of this framework, Kaleidoscope'90. From the imperative paradigm, constraint imperative programming adopts explicit control flow, state, and assignment. From the declarative paradigm, it adopts explicit, system-maintained constraints (relations that should hold). There is a strong practical motivation for making this integration: in a typical application, some portions are most clearly described using imperative constructs, while other portions are most clearly described using constraints. By using a constraint imperative language, the most suitable paradigm can be used, as appropriate.>
Freeman‐Benson et al. (Thu,) studied this question.