MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

The Design and Implementation of Kaleidoscope'90, A Constraint Imperative Programming Language (1992) [27 citations — 4 self]

by Bjorn N. Freeman-Benson ,  Alan Borning
In Proceedings of the IEEE Computer Society International Conference on Computer Languages
Add To MetaCart

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, systemmaintained 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. 1 Introduction We propose to combine two simple techniques--- decl...

Citations

709 Constraint logic programming – Jaffar, Lassez - 1987
346 Constraint satisfaction in Logic programming – Hentenryck - 1989
262 An introduction to PROLOGIII – Colmerauer - 1990
238 The constraint logic programming language CHIP – Dincbas, Hentenryck, et al. - 1988
226 Semantic foundation of concurrent constraint programming – Saraswat, Rinard, et al. - 1991
177 Concurrent Constraint Programming Languages – Saraswat - 1993
109 An incremental constraint solver – Freeman-Benson, Maloney, et al. - 1990
85 Constraint logic programming languages – Cohen - 1990
67 Constraint hierarchies and logic programming – Borning, Maher, et al. - 1989
66 Hierarchical Constraint Logic Programming – Wilson, Borning - 1993
62 The definition and implementation of a computer programming language based on constraints – Steele - 1980
50 Lucid, the Dataflow Programming Language – Wadge, Ashcroft - 1985
35 Constraint Programming Languages – Leler - 1988
33 Type-checking Smalltalk – Johnson - 1986
30 Integrating constraints with an object-oriented Language – Freeman-Benson, A - 1992
23 Constraint Imperative Programming – Freeman-Benson - 1991
23 Constraint Technology for User-Interface Construction in ThingLab II – Maloney, Borning, et al. - 1989
21 Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming – Freeman-Benson - 1990
15 Constraints: A uniform approach to aliasing and typing – LAMPORT, SCHNEIDER - 1985
13 Nygaard: Abstraction Mechanisms in the BETA Programming Language – Kristensen, Madsen, et al. - 1983
9 Properties of user interface systems and the Siri programming language – Horn - 1992
3 How I Wonder What You Are: A General Algorithm for Incremental Satisfaction of Constraint Hierarchies – DeltaStar - 1990
2 CLP* and Constraint Abstraction – Hickey - 1989
2 Geometric Constraint Satisfaction Problems – Kramer, Pabon, et al. - 1991
1 Read-Only Annotations in Constraint Hierarchies – Borning, Wilson, et al. - 1991
1 Thesis Proposal: A ConstrainedObject Language for Reactive Program Implementation – Horn - 1990