Home Page

The {log} (read setlog) project aims at the design and development of a Constraint Logic Programming language that embodies the fundamental forms of set designation and a number of primitive operations for set management. At this stage the design and implementation of the core part of the language is almost finished. The {log} language can be used either as a stand-alone CLP language or as an addition to Prolog that allows to extend Prolog with set constraint management facilities.  Various extensions to the core part of the language (e.g., other kinds of set constraints, other forms of data aggragates, more powerful intensional set designations, etc.) are under development at present and will be integrated into {log}.

The latest releases of {log} have been partially supported by the GNCS project 2012 "Specifiche insiemistiche eseguibili e loro verifica formale".
Here you can find ...

using {log}
current release
programming examples
previous releases
related information

Using {log}

Save the {log} interpreter (Prolog source code) into a file, e.g. setlog.pl. To start working with the interpreter, invoke Prolog and then load the {log} interpreter, e.g., by giving the directive ?-consult(setlog)
{log} can be used either (a) in an interactive way, or (b) as a Prolog library within any Prolog program.
(a) To start using {log} in an interactive way give the goal ?-setlog. {log} will notify you that it is ready to accept {log} goals by showing its prompt ({log}=>) on the standard output. 
To exit from the {log} interactive environment give the goal {log}=>halt. To re-enter the {log} interactive environment give the goal ?-setlog
(b) To use {log} within a Prolog program (i.e.,without leaving the Prolog execution environment), call the predicate setlog(+Goal,-Constr_ext), where Goal is any {log} goal and Constr_ext is the (possibly empty) list of computed {log} set constraints (see the help information for other predicates to call {log} within a Prolog program).

Use the Prolog goal setlog_help or the {log} goal help to get general help information.

Current release

Related information