Author: Gus Lopez
Ph.D. dissertation, Department of Computer Science and Engineering, University of Washington, April 1997. Published as UW Tech Report 97-04-08.
A design for a constraint imperative language, Kaleidoscope, is presented that is based on a perturbation model for mutable objects, consistent with object mutation in conventional object-oriented languages. Aliasing is an implicit relation that conflicts with the declarative nature of constraints. A declarative mechanism for object identity is described that generalizes constraints to different aspects of object structure.
The major drawback of CIP with respect to multi-way constraints systems is performance, particularly for constraint-intensive programs. The performance gap between user-defined constraints in constraint imperative languages and constraint solvers used by conventional object-oriented languages is dramatically reduced by incremental constraint satisfaction optimizations in the Kaleidoscope virtual machine. The runtime penalty for using constraints in CIP languages is further reduced by static constraint satisfaction techniques.
full version (this is a directory containing postscript files for the dissertation, one file per chapter).