A constraint-based language