Ann: SWI-Prolog 6.5.2
Jan Wielemaker <[email protected]>
| Newsgroups | gmane.comp.ai.prolog.swi |
|---|---|
| Message-ID | <[email protected]> |
Hi,
I have uploaded SWI-Prolog 6.5.2. Most of the changes concern portability
issues. There is one important MODIFIED item:
* MODIFIED: The =argv= Prolog flag now only contains _unprocessed_
commandline arguments. This change is primarily for improving
compatibility with other systems (e.g., YAP, SICStus). A new flag,
called =os_argv= provides the original complete list of arguments.
Unfortunately, some code must be updated to deal with this change. A
hack to restore compatibility is to call the following before anything
else in the application:
==
:- current_prolog_flag(os_argv, Argv),
set_prolog_flag(argv, Argv).
==
Command-line processing is also changed. See
http://www.swi-prolog.org/pldoc/man?section=cmdline
The other change is a new conservative *atom garbage collector* by Keri
Harris, which no longer uses the stop-the-world model. Because stopping
the world cannot work reliably in Windows, the old collector crashed
occasionally in heavilly multi-threaded applications on Windows.
Then, there is an update to the *Mac application*. This should now run
on all machines with Mac OS X 10.6 (Snow Leopard) or later. Menu,
starting and threading issues have been improved a bit. This is
certainly not yet a polished product. Thanks to Carlo Capelli.
Download from
http://www.swi-prolog.org/download/MacOSX/SWI-Prolog-6.5.2.dmg
Enjoy --- Jan
P.s. After an upgrade of Macports, I failed to make a binary
package for MacOS X lion :-( Might try to resolve this,
but I'm preparing for the ICLP :-)
========================================
SWI-Prolog Changelog since version 6.5.1
========================================
* ADDED: Recent file (sub)menu. Carlo Capelli.
* ENHANCED: Make list_undefined/0 call predicate_name/2 to allow for
hookable messages. Paulo Moura.
* PORT: pack_install adds -L<PrologLibDir> to LDSOFLAGS if the system
is thought not to be ELF based (e.g., MacOS). Samer Abdallah.
* PORT: Deal wit Mac OS X deployment target for wcsdup()
* DELETED: X64 and X86 submodules. These have no role since MinGW
* DOC: Document more details of commandline processing
* ADDED: Register .prolog as additional extension for Prolog files.
* MODIFIED: Remove Prolog flag =associate= (used in the Windows version)
* FIXED: Syntax error in __WINDOWS__ section
* MODIFIED: No longer try to be smart about arguments in #!
* MODIFIED: Several aspects of command line processing
* CLEANUP: Handling of -p PathSpec and --pldoc[=port] options
* FIXED: Updated code for new argv meaning.
* MODIFIED: The =argv= Prolog flag now only contains _unprocessed_
commandline arguments. This change is primarily for improving
compatibility with other systems (e.g., YAP, SICStus). A new flag,
called =os_argv= provides the original complete list of arguments.
Unfortunately, some code must be updated to deal with this change. A
hack to restore compatibility is to call the following before anything
else in the application:
==
:- current_prolog_flag(os_argv, Argv), set_prolog_flag(argv, Argv).
==
* ENHANCED: CLP(FD): Give all involved constraints a propagation
opportunity when a new constraint is posted and propagation
is always terminating. Efficiently possible thanks to
term_attvars/2. James Hogan. Example: Before:
?- X #> abs(X), X #> 2.
%@ X in 3..sup,
%@ X#>=_G6092,
%@ _G6100#=abs(X),
%@ _G6092 in 2..sup,
%@ _G6100+1#=_G6092,
%@ _G6100 in 3..sup.
Now:
?- X #> abs(X), X #> 2.
%@ X in 4..sup,
%@ X#>=_G1033,
%@ _G1041#=abs(X),
%@ _G1033 in 4..sup,
%@ _G1041+1#=_G1033,
%@ _G1041 in 3..sup.
* ADDED: packages/swipl-win submodule
* ADDED: edit/1: allow for line-position handling.
* ADDED: Readme file for the App.
* FIXED: Create new thread in no-debug mode. Jan Burse.
* ADDED: PL_thread_attach_engine(): flag PL_THREAD_NO_DEBUG to force
starting the thread in nodebug mode.
* ADDED: about -> win_message_box, select_ANSI_term_colors
* FIXED: make logic to decide on the =tty_control= flag platform
independent
* PORT: Add some MacOS finder integration
* ADDED: Prolog flag =apple= to detect we are running on a Mac
* ADDED: PL_exit_hook() to register hooks that are called just before
exit().
* DOC: Fixed and extended docs for PL_on_halt()
* FIXED: Do not reset the stdio functions if they are set before init
by the embedding system.
* DOC: Document the flag =color_term=.
* DOC: library(gensym): updated and created @see links for better
alternatives
* INSTALL: Only copy the DLLs that we need
* PORT: Windows: avoid warnings from mkinstaller.pl
* FIXED: Locking issue in stream redirection for format/3,
with_output_to/2. Abramo Bagnara.
* DOC: Updated issues with library(ansi_term).
* DOC: ancestral cuts. Richard O'Keefe
* DOC: LaTeX typo
==============
Package debian
==============
* FIXED: SO_PATH patch to avoid -rpath
============
Package http
============
* FIXED: Race condition if two threads try to create a new thread
pool lazily.
* FIXED: Updated for new prolog flag argv
* MODIFIED: Send JSON as application/json; charset=UTF-8
===============
Package ltx2htm
===============
* FIXED: Updated for new prolog flag argv
===========
Package nlp
===========
* PORT: Deal wit Mac OS X deployment target for wcsdup()
=============
Package pldoc
=============
* FIXED: Updated for new prolog flag argv
* ADDED: Allow for a variable type in a mode declaration. Samer
Abdallah.
==============
Package semweb
==============
* PORT: Deal wit Mac OS X deployment target for wcsdup()
* FIXED: rdf(_,_, literal(prefix(_), _)). Jacco van Ossenbruggen.
* ADDED: Extend rdf_graph_property/2 with persistent(Boolean).
Jacco van Ossenbruggen.
============
Package sgml
============
* ADDED: role attribute
===============
Package windows
===============
* FIXED: Updated for new prolog flag argv
============
Package xpce
============
* FIXED: swipl-win.rc to deal with new argv
* FIXED: Updated for new prolog flag argv
* ADDED: Allow for emacs(File:Line:LinePos)