From 89a4b5a6ffc74831a76429ab4afec8d0da7db7e7 Mon Sep 17 00:00:00 2001 From: Markus Triska Date: Mon, 27 Apr 2020 19:48:31 +0200 Subject: [PATCH] add more information about Constraint Logic Programming (CLP) --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index f0d0b6ac..202a5b42 100644 --- a/README.md +++ b/README.md @@ -273,6 +273,24 @@ described in [*Tabling as a Library with Delimited 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 -- 2.54.0