Constraints and Object Identity
Authors: Gus Lopez, Bjorn Freeman-Benson, and Alan Borning
Published in Proceedings of the 1994 European Conference on
Object-Oriented Programming, Bologna, Italy, July 1994, pages 260-279.
Constraint imperative programming is an integration of declarative constraints
and imperative object-oriented programming. The primary goal of this
integration is to use constraints to express relations among objects
explicitly -- relations that were implicit in the code in previous languages.
However, one of the fundamental concepts of object-oriented programming,
object identity, can result in implicit relations, even when explicit identity
constraints are supported. We analyze the problem and propose a solution --
identity constraints -- which we have implemented in our Kaleidoscope'93
language. This solution is understandable, efficiently implementable, and
compatible with the Kaleidoscope constraint model.
full paper (pdf)
Constraints home page