Logtalk 2.28.0 released

Paulo Moura <[email protected]>
Newsgroups gmane.comp.gnu.prolog.general
Message-ID <[email protected]>
[Apologies for any cross posting]

Hi!

Logtalk 2.28.0 is now available for downloading from the Logtalk web  
site:

	http://www.logtalk.org/

This release includes major features and important bug fixes. Major  
highlights are experimental support for multi-threading programming,  
much improved support for defining meta-predicates, improved  
integration with several Prolog compilers (including B-Prolog,  
ECLiPSe, SICStus Prolog, SWI-Prolog, XSB, and YAP), a new Windows GUI  
installer and an improved Linux RPM package.

This release uses new versions of the Prolog configuration files that  
are incompatible with previous versions. Be sure to upgrade your  
LOGTALKUSER folder (by running the "cplgtdirs" shell script) before  
using Logtalk.


 From the release notes:

* Updated the Logtalk license to the final version of the "The  
Artistic License 2.0" (see http://www.perlfoundation.org/legal/ for  
details).

* Added experimental support for multi-threading programming on  
selected Prolog compilers. Added a new object directive, threaded/0,  
a new predicate directive, atomic/1, and four new built-in  
predicates, threaded_call/1-2 and threaded_exit/1-2. Added a new set  
of examples, "threads". Thanks to Paulo Nunes for helping developing  
and testing these new features.

* Expanded support for meta-predicates by allowing the declaration of  
meta-arguments as closures instead of goals.

* Added the generalized call/N predicate as a built-in method. This  
built-in method must be used in the implementation of meta-predicates  
which work with closures instead of goals.

* The metapredicate/1 directive should be considered deprecated. Use  
the meta_predicate/1 directive instead.

* Updated the Logtalk compiler to generate an error whenever a non- 
variable meta-argument is found in a clause head of a user-defined  
meta-predicate.

* Improved compilation of meta-predicate meta-arguments. Corrected a  
bug in the compilation of user meta-predicates that allowed illegal  
calls to non-public predicates on the caller object to be made from  
the object defining the meta-predicates. Thanks to Rémy Haemmerlé and  
François Fages for reporting the problem.

* Improved performance for non-cached messages, notably when running  
with YAP, GNU Prolog, and SWI-Prolog on all operating systems and  
with SICStus Prolog 4.0 on POSIX operating systems.

* Updated the Logtalk compiler to generate an error whenever a  
predicate directive appears in a source file after predicate clauses  
that call the predicate specified in the directive.

* Added support for "copyright" and "license" keys to the info/1  
entity documenting directive.

* Improved compiler error messages to also report source file line  
number for selected Prolog compilers.

* Added PDF versions of all the manual XHTML pages. Added links to  
all the manual XHTML pages to the corresponding PDF versions.

* Corrected a bug (introduced in version 2.27.0) in the built-in  
predicates abolish_object/1, abolish_protocol/1, and abolish_category/ 
1 that resulted in some clauses not being retracted when an object is  
abolished (thanks to Neng-Fa Zhou for the bug report).

* Corrected a bug (introduced in version 2.27.1) in the processing of  
the term_expansion/2 predicate.

* Corrected a bug in the compilation of redefined built-in predicates  
with no clauses.

* Added an experimental config file for CxProlog 0.93.1.

* Updated the SWI-Prolog config and hook files in order to support  
the edit/1 and make/0 development predicates.

* Changed the Logtalk - SWI-Prolog integration scripts to load the  
hook file "swihook.pl" after the other files in order to avoid some  
possible errors at startup.

* Updated the config file for the forthcoming SICStus Prolog 4.0  
version to work in the current beta version. Modified the  
"make_sicstuslgt.*" shell scripts to work with both SICStus Prolog  
3.12 and 4.0 versions.

* Updated the config file for YAP to workaround a problem on the  
Windows version where testing for directory existence fails if the  
path ends with a slash (or a double backslash); this problem prevents  
the use of library notation to load source files (problem already  
fixed in the current YAP CVS version).

* Updated the config file for B-Prolog to match (and require) the new  
6.9 version; added integration shell scripts (for both Windows and  
POSIX systems).

* Updated the config files and the integration scripts for ECLiPSe in  
order to workaround bugs on the predicates abolish/1 and  
canonical_path_name/2. Modified the "make_eclipselgt.js" script to  
work with both ECLiPSe 5.8 and 5.9 versions.

* Dropped support for versions of XSB older than 3.0. Added support  
for smart compilation of source files to the XSB config file.

* Updated the config file for IF/Prolog 5.1 by adding a missing  
definition for predicate retractall/1 and avoiding some harmless  
singleton warnings.

* Add a ".txt" extension to all "NOTES" and "SCRIPT" files.

* Extended "dcgs", "parametric", and "metainterpreters" examples.

* Added Inno Setup GUI Windows installer script.

* Update all the JScript scripts to check if a compatible version of  
WSH is installed and to workaround some problems with spaces in file  
paths.

* Updated the "lgt_install.js" JScript script to copy the scripts/ 
*.bat and the xml/*.bat batch scripts to the system's Windows  
directory instead of modifying the PATH environment variable.

* Updated the "cplgtdirs.*" shell scripts to make a backup copy of  
any previous LOGTALKUSER directory.

* Added post-install scripts to the LINUX RPM "logtalk.spec" file for  
setting the environment variable LOGTALKHOME for all users, defining  
a default value for the environment variable LOGTALKUSER, and running  
the Prolog integration scripts.

* Split the installation and customization instructions in two files,  
"INSTALL.txt" and "CUSTOMIZE.txt".

* Added shell scripts for converting the manual XHTML pages into PDF  
files using CSSToXSLFO.


The CVS tag for this release is "lgt2280".


Happy logtalking!

Paulo


-----------------------------------------------------------------
Paulo Jorge Lopes de Moura
Dep. of Computer Science, University of Beira Interior
6201-001 Covilhã, Portugal

Office 4.3  Ext. 3257
Phone: +351 275319891 Fax: +351 275319899
Email: <mailto:[email protected]>

Home page: <http://www.di.ubi.pt/~pmoura>
Research: <http://logtalk.org/>
-----------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.