Abstract:
. Constraint Imperative Programming (CIP) languages integrate declarative constraints with imperative state and destructive assignment, yielding a powerful new programming paradigm. However, CIP languages are difficult to implement efficiently due to complex interactions between the two donor paradigms. Neither the virtual machines for classical object-oriented languages, nor those for existing constraint languages, are suitable for implementing CIP languages, as each assumes a purely imperative or a purely declarative computation model. We have developed a new virtual machine for CIP languages, the K-machine, an imperative machine with an incremental constraint solver and a constraint-based, rather than value-based, data store. This virtual machine allows user-defined constraints to be defined using constraint constructor definitions which are the CIP analog to method definitions. Similar to methods, these constructors are able to reference variables indirectly through many levels of ...
Citations
|
1137
|
Smalltalk-80: The Language and Its Implementation
– Goldberg, Robson
|
|
709
|
Constraint logic programming
– Jaffar, Lassez
- 1987
|
|
452
|
An Abstract Prolog Instruction Set
– Warren
- 1983
|
|
384
|
Concurrent Constraint Programming
– Saraswat
- 1993
|
|
346
|
Constraint satisfaction in Logic programming
– Hentenryck
- 1989
|
|
265
|
The CLP(R) language and system
– Jaffar, Michaylov, et al.
- 1992
|
|
262
|
An introduction to PROLOGIII
– Colmerauer
- 1990
|
|
147
|
Object-oriented multi-methods in Cecil
– Chambers
|
|
130
|
M.: Constraint hierarchies
– Borning, Freeman-Benson, et al.
- 1992
|
|
109
|
An incremental constraint solver
– Freeman-Benson, Maloney, et al.
- 1990
|
|
85
|
Constraint logic programming languages
– Cohen
- 1990
|
|
73
|
Common LISP: The Language
– Jr
- 1984
|
|
66
|
Hierarchical Constraint Logic Programming
– Wilson, Borning
- 1993
|
|
55
|
The WAM: A (real) tutorial
– Aït-Kaci
- 1990
|
|
38
|
The SkyBlue Constraint Solver
– Sannella
- 1993
|
|
35
|
Constraint Programming Languages
– Leler
- 1988
|
|
27
|
The design and implementation of Kaleidoscope'90: A constraint imperative programming language
– Freeman-Benson, Borning
- 1992
|
|
23
|
Constraint Imperative Programming
– Freeman-Benson
- 1991
|
|
15
|
Constrained patterns as a basis for object-oriented constraint programming
– Horn
- 1992
|
|
14
|
Kaleidoscope: A Constraint Imperative Programming Language," in Mayoh, B. et al
– Lopez, Freeman-Benson, et al.
- 1993
|
|
9
|
Properties of user interface systems and the Siri programming language
– Horn
- 1992
|
|
9
|
Constraints and Object Identity
– Lopez, Borning, et al.
- 1994
|
|
6
|
Mehmet Dincbas. Constraint satisfaction using constraint logic programming
– Hentenryck, Simonis
- 1992
|
|
5
|
An Abstract Machine for CLP
– Jaffar, Michaylov, et al.
- 1992
|