This page is part of an archival collection and is no longer actively maintained.

It may contain outdated information and may not meet current or future WCAG accessibility standards. We provide this content, its subpages, and associated links for historical reference only. If you need assistance, please contact support@cs.washington.edu

Constraints and Object Identity

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.


Abstract

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