Constraint imperative languages are trendy nowadays [2].
Examples of these languages are
2LP, Oz
, and OPL
. DJ belongs to this category, too. There may be two reasons for this trend: First, people want to design a syntax that is friendly to and is thus likely to be accepted by most programmers; Second, arrays, which have been intensively used in OR (Operation Research) tools, are good for writing aggregation and cardinality constraints. Cassowary [3] is another system for building Java applets. For a set of linear constraints, the system generates a constraint solver encoded in Java that can maintain the constraints dynamically. Cassowary, as a language, is very restricted. As we know, DJ is the first constraint language that uses a Java-like syntax.