Logtalk 2.39.1 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.39.1 released

Post by Paulo Moura » Wed Mar 31, 2010 1:14 am


Logtalk 2.39.1 is now available for downloading. This release includes a new and improved support for unit testing, adds a set of unit tests based on the examples sample queries, improves multi-threading support, adds runtime safety to the uses/2 directive, improves libraries and programming examples, fixes all known bugs, improves the Windows installer, and includes portability updates for Ciao, CxProlog, ECLiPSe, XSB, and YAP. A special thanks to Parker Jones for his contributions to this release.

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.
* XSB: Some bugs in multi-threading support prevent some thread examples from running. Use of the latest XSB CVS version is recommended.

Detailed release notes:

* Updated the Logtalk compiler and runtime to support calls to the built-in predicates threaded_peek/2 and threaded_exit/2 where the second argument (thread tag) is only instantiated at runtime. Updated the exception term thrown by threaded_exit/2 when the thread goal don't exist to use error/3 instead of error/2.

* Updated the implementation of the uses/2 directive in order to allow safe use of the declared shortcuts at runtime.

* Corrected a bug when using the use_module/2 directive that resulted in a performance penalty when calling module predicates.

* Updated the Logtalk compiler to warn the user when finding deprecated directives.

* Updated the Logtalk compiler to recognize "prolog_compatible_version" and "tabling" as valid flags.

* Updated the Logtalk compiler to compile settings files with the compiler flag "altdirs" turned off in order to avoid problems with directory permissions for back-end Prolog compilers, such as Ciao and XSB, which require the first run of Logtalk to be made by an administrative user.

* Corrected a bug in the Logtalk compiler that forced recompilation of source files when the "smart_compilation" flag was set to "on".

* Corrected an erroneous compiler warning when reporting referenced but unknown objects when using the {Object}::Message notation. Thanks to Parker Jones for the bug report.

* Corrected a bug in the <</2 control construct where errors would be reported without an error/3 wrapper. Thanks to Parker Jones for the bug report.

* Corrected a predicate lookup caching bug for the ^^/1 control construct (aka "super") that resulted in cached entries never being used when the argument was a different predicate from the one being defined by the clause containing the call (uncommon but possible).

* Updated the SWI-Prolog and YAP config files in order to recognize and compile the proprietary directive create_prolog_flag/3.

* Updated the ECLiPSe config files to treat numbervars/3 as a built-in predicate.

* Updated the file system utility predicates in the XSB config file in order to ensure full expansion of paths into full paths.

* Updated the CxProlog config file to workaround a wrong priority for the standard **/2 operator ("xfx" instead of "xfy"). Updated the CxProlog integration scripts for both POSIX and Windows systems in order to use the "--script" command-line option, thus freeing the "--goal" option.

* Added a logtalk_library_path/2 entry for the library "home" (the user home directory) when running on Windows operating-systems. However, this definition only works for some back-end Prolog compilers due to bugs in expanding paths containing more than one environment variable.

* Updated the "types_loader.lgt" library loader file in order to load the "rbtree" library object.

* Updated the library object "term" in order to implement the variant/2 predicate as a call to the =@=/2 proprietary built-in predicate when using either SWI-Prolog or YAP as the back-end Prolog compilers.

* Corrected a predicate property name bug (alias/1 instead of alias_of/1) in the library object "listing".

* Replaced the library object "lgtunit" with a new version supporting three different dialects for specifying unit tests. See the example "testing" and the library file "lgtuint.txt" for details.

* Added unit tests for most examples, based on the sample queries found on each example "SCRIPT.txt" files. The original tests, contributed by Parker Jones, were rewritten to use the updated version of the "lgtunit" library. Added a POSIX shell script, "examples/tester.sh" for automating running the examples unit tests.

* Added a missing file, "lists.lgt", to the "metainterpreters" example.

* Added shell/1-2 predicates to the operating-system interface defined in the "cc" example.

* Added an op/3 directive for the :/2 operator to the "logging" example in order to avoid syntax errors when running on a back-end Prolog compilers that don't define this operator.

* Updated the "modules" example in order to avoid an object name conflict with the library object "list".

* Corrected assorted typos on the sample queries of several examples. Thanks to Parker Jones for the bug reports.

* Updated several examples sample queries to workaround a XSB parsing bug triggered by using message broadcasting syntax.

* Updated the Windows installer in order to warn the user when no compatible Prolog compiler can be found. In addition, update the installer in order to also create shortcuts to the main documentation files on the Logtalk user folder.

* Added an experimental "logtalk_backend_select.sh" POSIX shell script for defining an alias, "logtalk", to a chosen back-end Prolog integration script. Suggested by Parker Jones.

* Documentation cleanup, specially regarding installing, customizing, and running Logtalk. Simplified Prolog compatibility notes as the current set of compatible Prolog compilers provide a more uniform experience.

* Corrected a bug in the POSIX lgt2*.sh scripts that would prevent finding the Logtalk documenting XML files when using a XML Schema specification. Thanks to rbt for the bug report.

Happy logtalking,

Paulo Moura
Logtalk developer

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest