users-prolog
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DES 2.4 Released


From: fernan
Subject: DES 2.4 Released
Date: Thu, 07 Jul 2011 17:12:34 +0200

[Apologies for multiple receptions]

Hello.
This is a mail just for informing that the new release 

  Datalog Educational System version 2.4 
  http://des.sourceforge.net

has been launched on July, 7th, 2011, and ported to

  GNU Prolog 1.4.0

In the current release, safety and computability have been revisited 
for extending such concepts to aggregate metapredicates. Most safety 
checks are moved to compile-time, covering also the new metapredicate 
distinct/2 and equality over evaluable expresssions. This tabled 
metapredicate computes distinct outcomes for different values of 
given arguments and for a given relation, therefore widening the 
scope of the already supported distinct/1. Also, while evaluable 
expressions are already supported in comparison predicates, now it is 
possible to test for syntactic equivalence of non-reducible 
expressions as those containing null values. For instance, X=null,
X+1=X+1 succeeds, whereas X=null,Y=null,X+1=Y+1 (X and Y are bound to 
different null values) and X=null,X+1=1+X (different syntax trees for 
left and right expressions) do not. Other enhancements include syntax 
error reporting: unbalanced parentheses warnings, incorrect use of 
grouping variables, and simplified syntax error messages. Also, goals 
involving negations and comparison built-ins are simplified. A new 
port to the recent GNU-Prolog 1.4.0 system replaces the old port to 
version 1.3.1. Finally, the new Windows GUI release ACIDE 0.8 with 
many improvements is released. 

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 2.4 of DES (released on July, 7th, 2011)

* Enhancements:
  o Safety and computability revisited for aggregate metapredicates. Most 
checks are moved to compile-time, covering also the new metapredicate 
distinct/2 and equality over evaluable expresssions
  o Added the Datalog tabled metapredicate distinct/2, which computes distinct 
outcomes for different values of given arguments and for a given relation. It 
takes effect when duplicates are enabled via the command /duplicates on 
  o Comparison of expressions including null values are now supported. Two 
expressions are considered equivalent if they are syntactically equal. For 
instance, X=null,X+1=X+1 succeeds, whereas X=null,Y=null,X+1=Y+1 and 
X=null,X+1=1+X do not
  o Syntax error reporting about unbalanced parentheses in Datalog and SQL
  o Syntax error reporting  for metapredicate group_by involving incorrect use 
of variables in Datalog
  o Simplified error reporting when syntax errors are detected
  o Compilation of Datalog rules keep variable program names for exploded rules 
(way cool in development mode)
  o Successive applications of not/1 are simplified instead of rewritten
  o Negated calls to primitives are simplified by their complemented 
counterparts (e.g., not(1<0) is translated to 1>=0). This in turn avoids the 
following null-related flaw: not(null\=null), which should be semantically 
equivalent to null=null 
  o New commands:
    - /running_info Display whether running information (as the incremental 
number of consulted rules as they are read) is to be displayed 
    - /running_info Switch Enable or disable display of running information (on 
or off, resp.)
    - /rm FileName Delete FileName from the file system
    - /del FileName Synonym for /rm
    - /system Goal Submit Goal to the underlying Prolog system (implementor's 
command)
  o Internal null identifiers are reset whenever the database is cleared, and 
they otherwise start from 0 instead of 1
  o Enabling (disabling) flags with commands /compact_listings, /check, 
/development, /duplicates, /pretty_print, /safe, /simplification, and /verbose 
warns should they are already enabled (disabled, resp.)
  o New port to GNU-Prolog 1.4.0. Tested successfully for Ubuntu 10.04 and 
Windows 7
  o New version of Windows GUI: ACIDE 0.8 with many impovements
  
* Changes:
  o Most errors regarding incorrect use of set variables are moved from 
run-time to compile-time
  o Unknown columns, tables and views are enclosed between double quotes
  o Datalog prompt is restored upon exception when processing a SQL statement
  o Internal representation of Datalog rules. Compiled rules are referenced by 
its rule identifiers in compilation roots, instead of storing full copies, 
therefore reclaiming less memory
  o Each rule has attached its textual variable names if they come from user 
inputs or instead they are automatically generated
  o Showing Datalog compilations on the fly is also controlled by the command 
/show_compilations. Listings of compilations with the command /listing is still 
controlled by the command /development
  o Showing running information is enabled by default. Such information display 
is not sent to the log, if enabled
  
* Fixed bugs:
  o Negated, compound calls involving either conjunction or disjunction were 
not correctly translated. Bug introduced in version 2.3
  o A Datalog 'having' condition with a variable to the right was incorrectly 
translated
  o Compound expressions including aggregate function count/0 were rejected
  o Parentheses in arithmetic expressions involving infix operators were not 
displayed when required
  o The listing command in development mode with pattern Name/Arity did not 
filter by Arity
  o Evaluation of an expression containing a null returned a non ground null 
representation. This, for instance, made X=null,Y=null,X+1=Y+1 true




reply via email to

[Prev in Thread] Current Thread [Next in Thread]