| Newsgroups |
gmane.comp.ai.prolog.swi |
| Message-ID |
<[email protected]> |
[Apologies for multiple receptions]
Hello.
This is a mail just for informing that the new release
Datalog Educational System version 3.3
http://des.sourceforge.net
has been launched on July, 12th, 2013, and ported to
SWI-Prolog 6.2.6
The main novelty of the current release is the ACIDE bundle
which includes a new version 0.11 featuring a database panel
for managing both DES databases (default $des and external
databases) and regular ODBC connections (tested with MySQL
and DB2). In addition, it has been enhanced w.r.t. last
bundle (including version 0.9) and fixes several bugs. With
respect to DES itself, performance has been improved a bit
(though really noticeable for some queries), also providing
commands for enabling and disabling some optimizations.
Nulls can be disabled for trying pure Datalog (also
disabling duplicates). Hypothetical rules enjoy extended
support for negation.
A complete list of enhancements, changes and fixed bugs is
attached to the end of this message.
Please, see http://des.sourceforge.net for details.
Best regards.
=============================================================
Fernando Saenz Perez
Profesor Titular de Universidad / Associate Professor
Home Page: http://www.fdi.ucm.es/profesor/fernan
Tel: + 34 913947642. Fax: + 34 913947547
Despacho / Office: 435 (4ª planta / 4th floor)
Dept. Ingenieria del Software e Inteligencia Artificial /
Department of Software Engineering and Artificial
Intelligence
Universidad Complutense de Madrid
Facultad de Informatica
C/Profesor Jose Garcia Santesmases, s/n
E - 28040 Madrid. Spain
=============================================================
Version 3.3 of DES (released on July, 12th, 2013)
* Enhancements:
o ACIDE bundle includes a new version 0.11 featuring a
database panel for managing both DES databases (default
$des and external databases) and regular ODBC connections
(tested with MySQL and DB2). In addition, it has been
enhanced w.r.t. last bundle (including version 0.9) and
fixes several bugs
o Nulls can be disabled for trying pure Datalog. Also,
disabling nulls enhances performance a bit (most likely,
not noticeable)
o Upgraded performance. Some tweaks for performance
optimization
o Extended support for negation in hypothetical rules
o Help listings (commands and built-ins) restricted to a
limited width
o Added new ISO built-in infix operator mod
o Redefinition of built-in comparison operators are
avoided
o New commands:
- /display_nbr_of_tuples Display whether display of the
number of computed tuples is enabled
- /display_nbr_of_tuples Switch Enable or disable
display of the number of computed tuples (on or off,
resp.)
- /nulls Display whether nulls are enabled
- /nulls Switch Enable or disable nulls (on or off,
resp.) If nulls are disabled, calls to outer join
predicates included in already-loaded rules will fail,
and attempts to use outer joins will not succeed. This,
coupled with /duplicates off (as by default) allows to
play with pure Datalog with negation and arithmetic
built-ins
- /optimize_cc Display whether complete computations
optimization is enabled
- /optimize_cc Switch Enable or disable complete
computations optimization (on or off, resp. and enabled
by default) Fixpoint iterations and/or extensional
database retrievals might been saved
- /optimize_ep Display whether extensional predicates
optimization is enabled
- /optimize_ep Switch Enable or disable extensional
predicates optimization (on or off, resp. and enabled by
default). Fixpoint iterations and extensional database
retrievals are saved for extensional predicates as a
single linear fetching is performed for computing them
- /optimize_edb Display whether extensional database
optimization is enabled
- /optimize_edb Switch Enable or disable extensional
database optimization (on or off, resp. and enabled by
default). Extensional database retrievals are saved for
the extensional part of the deductive database
- /optimize_nrp Display whether non-recursive predicates
optimization is enabled
- /optimize_nrp Switch Enable or disable non-recursive
predicates optimization (on or off, resp. and enabled by
default). Memoing is only performed for top-level goals
- /optimize_st Display whether stratum optimization is
enabled
- /optimize_st Switch Enable or disable stratum
optimization (on or off, resp. and enabled by default).
Extensional table lookups are saved for non-recursive
predicates calling to recursive ones, but more tuples
might be computed if the non-recursive call is filtered,
as in this case an open call is submitted instead (i.e.,
not filtered)
- /write String Write String to console. String can
contain system variables as $stopwatch$ (which holds the
current stopwatch time) and $total_elapsed_time$ (which
holds the last total elapsed time) (See Subsection
5.13.11.1 for system variables)
- /writeln String As /write but adding a new line at the
end of the string
- /write_to_file File String Write String to File. If
File does not exist, it is created; otherwise, previous
contents are not deleted and String is simply appended
to File. String can contain system variables as
$stopwatch$ (which holds the current stopwatch value)
and $total_elapsed_time$ (which holds the last total
elapsed time)
- /writeln_to_file File As /write_to_file but adding a
new line
* Changes:
o Behaviour of /compact_listings Switch is immediate
(neither trailing blank line when enabling compact
listings nor absent blank line when disabling)
o SQL-to-Datalog compilations for the division are not
displayed unless development listings are enabled,
analogously to outer join operations
o Operator \/ in hypothetical literals has been changed to
the more appropriate /\
* Fixed bugs:
o During computing implications, some rules were not
memorized correctly
o Assumed rules in hypothetical queries and rules were not
tested for safety
o Parsing of /shell failed for arguments containing a
comma. Now, the characters following the command are
directly sent to the shell
o Attributes in where conditions were not parsed in the
command /des
o External relations were warned as non-existing when
processing a SQL statement with the command /des
o Some commands did not accept upper case switches
o Closing an ODBC connection broke external metadata
retrieval for subsequent connections
o The command /listing duplicated the rules for persistent
predicates
o The command /rm File (with synonym /del) did not find
the file to remove for SICStus distros
o Missing display of top-level query for exploded queries
in normal listings
o When show_sql was enabled, some tasks related to
persistent predicates failed, as retracting rules
o Hypothetical Datalog queries for persistent predicates
did'nt retract assumed rules and facts