[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 _______________________________________________ Users-prolog mailing list [email protected] https://lists.gnu.org/mailman/listinfo/users-prolog
