Logtalk 2.42.3 released

Announcements of new Logtalk releases and events

Moderator: Paulo Moura

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

Logtalk 2.42.3 released

Post by Paulo Moura » Mon Feb 21, 2011 2:58 am


Logtalk 2.42.3 is now available for downloading. This release adds support for calling dynamic predicates in the context of "this" from within categories, adds support for pre-compiled clause heads, includes bug fixes and improvements to the built-in debugger, includes improved libraries and examples, adds support for indexicals when using the SICStus Prolog CLP(FD) library, adds an experimental example of using attributed variables within objects and categories, and features portability updates for ECLiPSe, GNU Prolog, SICStus Prolog, and SWI-Prolog.

Upgrading from previous release:

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

Known compatibility issues:

* GNU Prolog: Logtalk requires the latest beta of the 1.4.0 version.
* 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 may prevent some thread examples from running.
* Ciao Prolog 1.10 is no longer supported (due to the lack of support for stream aliases; the current 1.13 beta version is not supported due to a broken predicate_property/2 implementation).

Detailed release notes:

* Allow dynamic predicates declared in a category to be called in "this" from within the category. In previous versions, such calls would result in a compile-time error, forcing these predicates to be called in "self" (using the ::/1 message sending control construct).

* Added Logtalk compiler support for pre-compiled clause heads (using the {}/1 control construct). This feature is mostly useful when using the term-expansion mechanism.

* Corrected a bug on the code that simplifies the predicate clauses generated by the compilation of grammar rules. The code would loop when a grammar rule contained a meta-variable, which the Logtalk compiler should (but currently don't) report as illegal (the call/1 control construct should be used instead on this case). Thanks to Nicolas Pelletier for the bug report.

* Simplified the compilation of calls in the context of the pseudo-object "user".

* Added a debugger command "p" to the Logtalk built-in debugger. This command prints the current goal using the print/1 predicate when available. Renamed the debugger command "q" to "Q". Corrected a bug where the debugger command "w" would not be recognized. Changed the debugger command "d" to quote terms when necessary.

* Added a partial implementation of the ISO Prolog predicate_property/2 predicate to the ECLiPSe config file.

* Updated the SWI-Prolog config file in order to remove the erroneous declaration of the library meta-predicates dde_register_service/2, time/1, and when/2 as built-in meta-predicates.

* Applied a bug fix to the "flags" contribution made available by its author, Theofrastos Mantadelis. Workaround a compatibility issue with GNU Prolog.

* Added a memberchk/2 predicate to the library "setp" protocol and "set" object. Added predicates is_control/1, is_newline/1, and is_end_of_line/1 to the library "characterp" and "character" entities.

* Added an experimental example of using attributed variables within Logtalk objects and categories. Currently requires the use of YAP or SWI-Prolog as the back-end Prolog compiler.

* Added support for indexicals to the "constraints/sicstus" example.

* Extended the "delegates" example with a sample implementation of a delegator using a parametric object.

* Extended the "dynpred" example in order to illustrate how to define category predicates that handle dynamic predicates in the context of "this" and in the context of "self".

* Added a wall_time/1 predicate to the "cc" example.

* Updated the syntax highlighting test files, adding missing true/0 and fail/0 control constructs.

Happt logtalking,

Paulo Moura
Logtalk developer

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest