|
Read about the new features of Quintus Prolog 3 |
QP Release 3 - Revision History
This section highlights the changes from Quintus Prolog release 3.1.
Release 3.5
News
Red Hat Linux glibc ≥ 2.3 is a new supported platform.
For Windows:
It is now possible to build DLL:s containing Prolog code to be linked
dynamically into applications.
For Windows:
Quintus Prolog can be called from Visual Basic.
library(prologbeans) is a new package for loosely coupled
integration between Java and Prolog.
library(xml) is a new, unsupported package for parsing XML.
The original.
The Objects Package is now bundled with the distribution.
New functionality have been added to
the cross-referencer (qpxref ) and determinacy checker
(qpdet ) tools:
-
they are now fully compatible with the module system, meta-predicates,
and exceptions
-
predicates can be declared (non)determinate
-
determinacy checking can be integrated with normal compilation
-
qpdet makes a better analysis of predicates calling
nondeterminate predicates, including built-ins
-
qpdet can optionally find all nondeterminacy through
global analysis
The documentation has been ported to the Texinfo markup language,
affecting details of the Help system and Emacs interfaces.
Where a library module had one name with an underscore and another
name without it, only the name without an underscore has been retained.
Bugs Fixed
-
a critical bug in interpreted arithmetic
-
critical garbage collection bugs
-
prelinked QOF files were not considered up to date in binaries
-
bug in
ordsets:ord_nonmember/3
-
For Windows:
CR/LF handling bug in the DOS console
Release 3.4
News
Release 3.4 features an Emacs-based source-linked debugger,
with approximately the same functionality as the QUI-based debugger.
The GNU Emacs interface was thoroughly revised and supports
GNU Emacs 19 and 20.
Bugs Fixed
current_predicate/2 failed after loading QOF-file saved by save_predicates/2
- re-exported predicates could fail if the
unknown flag was fail
- dynamic code generation bug for imported predicates in runtimes
- bug in finding the correct module of an already loaded QOF file
user:message_hook/3 not obeyed on restore
- For Windows:
binary gets and puts broken
- For Windows:
functor/3 bug
- undefined profiler predicate
qpc bugs: input file suffix, all_dynamic(true) in embedded loads,
handling -N and -o flags
- runtimes did not accept
Module:Head :- Body clauses
- arithmetic bugs
retract/1 could leave a dangling pointer
ensure_loaded/1 did not work on QOF-files saved by save_predicates/2
- advice checking and debugging did not work when invoking a saved state
- DCG expansion of
{Goal} bug
- C calling Prolog error handling bug
- re-exportation and meta-predicate interaction bug
save_modules/2 failed to save a dependency corresponding to
:- use_module(file,[]) .
- garbage collection bugs
- indexing bug upon loading QOF-files
- For Windows:
runtime statistics wrap-around bug
- For Windows:
handling of asynchronous input, EOF and interrupts
in windowed executables such as
qpwin.exe
QP_seek() bug
SIGPIPE signals cause abort instead of exit
- library bugs:
strings:span_*/* , strings:midstring/* ,
strings:concat_atom/* , strings:concat_chars/* ,
directory:file_member_of_directory/2 , heaps:get_from_heap/4 ,
date:time_stamp/*
proxl:current_window/1 , proxl:current_display/1 could crash
library(tcp) bugs: floating point byte swapping, tcp_shutdown() ,
non-lingering tcp_listen() , file name size limitation
- many documentation bugs
Release 3.3
Bugs Fixed
- Pascal interface bug for
-string
- bug in
library(putfile)
- memory leak in
garbage_collect_atoms/0
- stack shifter bug
atom_chars/2 with 256 element list bug
qpc permanent variables limit detection
- Sun C calling convention bug
- QUI interrupt dialog box has no buttons
- ProXL runtimes don't work due to module qualification
Release 3.2
News
Atom garbage collection, whereby memory for atoms no longer referenced
by the Prolog execution can be reclaimed. With the introduction of
this feature, the maximum length of atoms has also been increased from
1024 bytes to 65532 bytes. library(strings) has been
modified to support the long atoms, only allocating space for long
atoms as needed.
The TCP library has been significantly enhanced to provide more efficient
passing of terms between Prolog processes, more functionality for server
processes and support for input callbacks, where predicates can be called
either when a specified file descriptor becomes ready or at a specified time.
A new licensing system has been introduced with this release.
A license manager program is provided to setup the licenses and provide
information on licenses installed.
The cross-referencer tool has been replaced by a new version that is
tuned to finding unreachable code in large programs.
For Windows:
A version of the development system is supplied that
directs Prolog's standard streams to a Window. A new -W option
to qld enables other Prolog applications to run with this window.
For Windows:
Some minor changes in the directory structure have been done,
e.g. host_type and system directory name has
changed from i386 to ix86 .
Bugs Fixed
avl:avl_fetch_1/5 is missing; misc. bugs
avl:ord_list_to_avl/2 creates AVL tree with incorrect functor
format/2 segmentation faults with large float exponents
set_input(user_output) raises exception
- float unification in QOF files fails
qpc syntax error message differs from development system
lists:nth1/3 description incorrect
use_module/2 information missing from .qofs
library(tcp) : connection requests on callbacks functionality
date:datime/7 format inconsistent with time_stamp/3
|