CLP(SC): Implementation and Efficiency Considerations
Workshop on Set Constraints, Cambridge MA, August 1996. (Also
Computer Science Department Tech Report TR96-1590. Cornell
University. June 1996.)
CLP(SC) is a constraint logic programming language over set constraints proposed by Kozen. In this paper, we describe a complete C++ implementation of CLP(SC). We describe the data structures used to represent systems of set constraints and an efficient algorithm, a modification of one given in [Kozen's paper], for unifying constraints. In addition, we investigate two further techniques for increasing efficiency: keeping track of variable equalities and doing PROLOG-style unification.