Logtalk 2.41.0 released

Announcements of new Logtalk releases and events

Moderator: Paulo Moura

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

Logtalk 2.41.0 released

Post by Paulo Moura » Wed Sep 15, 2010 6:05 pm


Logtalk 2.41.0 is now available for downloading. This release adds support for coinductive predicates, adds a new built-in predicate for accessing the Logtalk compilation/loading context, adds new programming examples, adds support for the SHJS syntax highlighter, fixes all know bugs, and includes portability updates for CxProlog, ECLiPSe, SWI-Prolog, XSB, 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: A bug in the support for stream aliases prevents use of this Prolog compiler at this time. This bug is expected to be fixed in the XSB CVS version soon. In addition, some bugs in multi-threading support prevent some thread examples from running.
* Ciao Prolog 1.10 is no longer supported (see below).

Detailed release notes:

* Added experimental support for coinductive predicates to the Logtalk compiler using a coinductive/1 directive. Requires a back-end Prolog compiler providing minimal support for cyclic terms (currently, YAP, CxProlog, ECLiPSe, SICStus Prolog, and SWI-Prolog). Thanks to Gopal Gupta, Neda Saeedloei, Feliks Kluzniak, Ajay Bansal, and Vitor Santos Costa for feedback and implementation suggestions.

* Added a "coinductive" predicate property.

* Added a "coinduction" read-only flag.

* Added a new Logtalk built-in predicate, logtalk_load_context/2, similar to the prolog_load_context/2 built-in predicate found in several Prolog compilers, in order to provide access to the compilation/loading context. The initial set of supported context keys is {entity_name, entity_prefix, entity_type, file, directory, term_position}. The term_position key is only supported in back-end Prolog compilers that provide the start and end lines of a read term.

* Simplified the Logtalk compiler by using stream aliases.

* Updated the implementation of the create_object/4 and create_category/4 built-in predicates in order to also support the definition of an initial set of grammar rules.

* Corrected a bug in the runtime error handler that would result in entity existence errors being reported as (internal) predicate existence errors.

* Corrected a bug where the protocols implemented by the built-in object "logtalk" would not be returned by the implements_protocol/2-3 built-in predicates.

* Corrected a bug where multifile/1 directives would only accept a single predicate indicator as argument.

* Corrected a bug where compiling an explicit module-qualified module meta-argument would result in a compilation loop when the qualified goal is a variable.

* Ciao Prolog 1.10 is no longer supported as this compiler fails to provide support for ISO Prolog standard stream aliases and the stream_property/2 built-in predicate. Support for this Prolog compiler will be reevaluated when a new stable version becomes available.

* ECLiPSe 6.0#141 or a later version is now required when using this back-end Prolog compiler due to use of stream aliases in the Logtalk compiler.

* Updated the CxProlog config file to require version 0.97.5 or later. This version adds the epsilon/0 arithmetic constant that is used in the library unit test support.

* Updated the SWI-Prolog and YAP config files in order to support the expects_dialect/1 proprietary directive.

* Removed the definitions of the no longer necessary '$lgt_keysort'/2 and '$lgt_sort'/2 internal predicates from the supported config files.

* Updated the shell scripts used for generating the PDF versions of the Logtalk User and Reference Manuals for better performance and to fix an incompatibility with recent versions of the xsltproc XSLT processor.

* Updated the "library/lgtunit_loader.lgt" helper file to avoid entity redefinition warnings when loading the "library/all_loader.lgt" helper file from the "library" directory itself.

* Added an example, "adventure", with Logtalk adaptations of Prolog text adventures originally written by David Matuszek and Dan Cliburn.

* Added an experimental example of coinduction when using CxProlog, ECLiPSe, SICStus Prolog, SWI-Prolog, or YAP as the back-end Prolog compiler.

* Updated the "constraints/swipl/loader.lgt" helper file to avoid the errors generated when loading the CLP(FD) library with the SWI-Prolog "iso" flag set to "true".

* Updated the "dcgs" example unit tests to avoid a compilation error when using SWI-Prolog 5.11.3 and later versions due to changes in this compiler parser for stricter ISO Prolog syntax.

* Updated the "help" example in order to provide help for Logtalk built-in directives.

* Updated the "examples/tester.sh" script in order to fix a compatibility issue with XSB.

* Added support for the SHJS syntax highlighter.

* Added syntax coloring support for the new coinductive/1 predicate directive to all supported text editors and syntax highlighters.

* Updated the TextMate commands used for generating (X)HTML, PDF, and TXT documentation in order to be independent of the default settings for the "altdirs" and "xmldir" compiler flags.

Happy logtalking,

Paulo Moura
Logtalk developer

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest