Date: Tue, 10 Dec 1996 03:26:59 GMT Server: NCSA/1.4.2 Content-type: text/html The Design and Implementation of Kaleidoscope'90, A Constraint Imperative Programming Language

The Design and Implementation of Kaleidoscope'90, A Constraint Imperative Programming Language

Authors: Bjorn Freeman-Benson and Alan Borning

Published in Proceedings of the IEEE Computer Society 1992 International Conference on Computer Languages, April 1992, pages 174-180.


Abstract

Two major paradigms in computer programming languages are imperative and declarative programming. We describe a scheme for languages that integrate specific features from these two paradigms into a new framework: Constraint Imperative Programming. Along with the framework, we 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.


Click here to get the postscript file. (Note: This file is missing one picture that is in the published paper -- a scroll bar -- but you can probably muddle along without it.)

Return to Constraints home page