Logtalk 2.41.1 released

Announcements of new Logtalk releases and events

Moderator: Paulo Moura

Post Reply
Paulo Moura
Logtalk developer
Posts: 479
Joined: Sat May 05, 2007 8:35 am
Location: Portugal
Contact:

Logtalk 2.41.1 released

Post by Paulo Moura » Wed Oct 06, 2010 9:12 pm

Hi,

Logtalk 2.41.1 is now available for downloading. This release simplifies the definition of class hierarchies when reflexive designs are not required, simplifies the internal representation of compiled entities, adds support for the blackboard built-in predicates when running on a back-end Prolog compiler supporting this feature, fixes all know bugs, features minor updates to some examples and the standard library, and includes portability updates for SICStus Prolog, SWI-Prolog, and YAP.

Upgrading from previous release:

* See the "UPGRADING.txt" file and the detailed release notes below for more details.

Known compatibility issues:

* B-Prolog: A bug in the delete_file/1 built-in predicate on Windows results in spurious messages when compiling and loading source files.
* YAP: Some bugs in multi-threading support prevent some thread examples from running. In addition, a bug in the YAP 6.0.4 Windows version results in syntax errors when loading some library objects.
* XSB: Logtalk requires the current XSB CVS version. In addition, some bugs in multi-threading support prevent some thread examples from running.
* Ciao Prolog 1.10 is no longer supported.

Detailed release notes:

* Modified the compilation of objects that don't instantiate, specialize, or extend other objects in order to allow their use as roots of either class hierarchies or prototype hierarchies. This change simplifies the definition of class hierarchies when reflexive designs are not required.

* Added support for the blackboard built-in predicates (bb_put/2, bb_get/2, bb_delete/2, and bb_update/3) found on some Prolog compilers such as YAP and SICStus Prolog. Note that a Prolog compiler natively supporting these predicates is required. This support aims to facilitate porting of Prolog applications using the blackboard; these predicates should be avoided when writing portable Logtalk applications.

* Simplified the internal representation of entity prefixes and entity predicate functors. The new representation is also a bit more compact.

* Corrected a bug in the compilation of clauses for multifile predicates defined in the pseudo-object "user" where the execution context for the clause body goals would be undefined.

* Corrected an optimization bug in the compilation of grammar rules that resulted in failed compilations whenever the body of a grammar rule was equivalent to fail/0. Thanks to Ulrich Neumerkel for the bug report.

* Corrected an optimization bug in the compilation of grammar rules that resulted in incorrect compilations when folding pairs of consecutive variable unifications generated as a by-product of the translation of grammar rules into clauses. Thanks to Ulrich Neumerkel for the bug report.

* Corrected a bug in the table of ISO Prolog specified arithmetic functions that is used by the Logtalk compiler when checking arithmetic expressions for portability (wrong arity of the bitwise complement function).

* Corrected a bug in the compilation of calls to Prolog proprietary built-in meta-predicates that are redefined within an object or category.

* Corrected a race condition bug when running multi-threaded code compiled in debug mode that could result in bogus failures.

* Corrected a bug in the definition of the built-in object "logtalk" when used as a root for a class hierarchy (two missing linking clauses for the implemented protocols).

* Set the default value for the Logtalk flag "code_prefix" to '$' for all supported back-end Prolog compilers.

* Updated the ECLiPSe config file in order to support compilation of the proprietary built-in predicate set_error_handler/2 and correct the buggy compilation of the proprietary built-in predicate set_event_handler/2. These two built-in predicates are only supported, however, when used as directives.

* Updated the SICStus Prolog, SWI-Prolog, and YAP config files in order to correct a bug in the compilation of the ensure_loaded/1 directive when used within a Prolog module being compiled as an object.

* Updated the YAP config file to workaround a bug in the built-in predicate absolute_file_name/3 where a directory can be returned when looking for a regular file (fixed in the current beta of the 6.0.7 version).

* Restored the hacks in the SWI-Prolog and YAP config files, broken in the previous release, that allow calling the Prolog built-in predicates phrase/2-3 with a Object::GRBody goal in the first argument.

* Updated the SWI-Prolog config file in order to use the numbervars/3 option singleton(true) in the auxiliary predicates for pretty printing non-ground terms.

* Added predicates intersection/4 and union/4 to the library support for ordered sets (protocol "setp" and object "set").

* Added a highly experimental example of ProbLog integration. Requires Logtalk to be run with YAP; it may also require a patched version of the ProbLog distribution.

* Updated the "multifile" example to illustrate how the body of clauses for multifile predicates is compiled.

* Removed some unused files from the "coinduction" example.

Happy logtalking,

Paulo
Paulo Moura
Logtalk developer

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest