Control*](https://biblio.ugent.be/publication/6880648/file/6885145.pdf)
by Desouter et. al.
+### Constraint Logic Programming (CLP)
+
+Scryer Prolog provides excellent support for Constraint Logic
+Programming (CLP), which is the amalgamation of
+Logic Programming (LP) and Constraints.
+
+In addition to built-in support for [`dif/2`](src/prolog/lib/dif.pl),
+[`freeze/2`](src/prolog/lib/freeze.pl),
+[CLP(ℤ)](src/prolog/lib/clpz.pl) and [CLP(B)](src/prolog/lib/clpb.pl),
+Scryer provides a convenient way to implement new user-defined
+constraints: *Attributed variables* are available via
+[`library(atts)`](src/prolog/lib/atts.pl) as in SICStus Prolog,
+which is one of the most sophisticated and fastest constraint systems
+in existence.
+
+These features make Scryer Prolog an ideal platform for teaching,
+learning and developing portable CLP applications.
+
### Modules
Scryer has a simple predicate-based module system. It provides a