A Constraint Logic Programming Language for Effective Programming with Sets and Finite Domains