Hi,
I've uploaded SWI-Prolog 5.8.0. This version merges the current
development tree into the stable version. Most of it should be pretty
compatible. The main differences that are likely to affect people moving
from 5.6.64 are:
* 5.8.0 properly implements :- meta_predicate/1. Code relying on
the old incomplete emulation must be updated. Code using
:- module_transparent still works, but both for better compatibility
with the rest of the Prolog world and for better support from the
environment, it is adviced to update code.
* The initalization/1 directive is now ISO compliant, which means it
is executed *after* loading the file in which it appears. This may
cause problems with code doing
:- initalization(load_foreign_library(mylib)).
Such code should use
:- use_foreign_library(mylib).
* System libraries libraries no longer (auto-) import from 'user',
but from `system'.
* Operators follow the auto-import module relations, which means
that system libraries only depend on operators declared by themselves
or in the module `system'.
* Preparing for 5.9.x, many foreign functions that used to be `void'
now return an int (TRUE/FALSE). 5.8.x does nothing with this (they
return TRUE or longjmp if an error happens). In 5.9.x they will
return FALSE if an error happens.
Thanks for all the input in the form of code, bug-reports, bug-fixes,
comments, etc. that made this version reality.
Enjoy --- Jan
_______________________________________________
SWI-Prolog mailing list
SWI-Prolog@...
https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog