New in Yap-6.2.0:
YAP now includes the ProbLog language, developed at Leuven.
Better compatibility with SWI-Prolog, YAP now includes most
of the SWI web stuff, the constraint solvers, the plunit code,
and the Java and python interfaces.
The MYDDAS SQL and odbc interfaces are now integrated and
enabled by default.
YAP also now includes support for rational numbers, a lot of new
math operations, lots of bug fixes, a few engine optimisations.
New libraries include Neumerkel's lambda library, a first step
at coinduction support, and Nicos excellent R-interface.
The co-routing code has been totally cleaned up.
Changes in Yap-6.0.7:
NEW: YAP_SetYAPFlag (request from Theo Mantadelis).
NEW: support div/2 as per WG17.
FIXED: restore from / file should just try that file.
FIXED: bad things can happen to P when user code is called (obs from Ingo Thon).
NEW: coinduction.yap.
FIXED: remove leftover files including two lib*.a (obs from Bernd Gutmann).
FIXED: Make clean should result in recompiling all *.o (obs from Bernd Gutmann).
NEW: Ulrich Neumerkel's lambda library.
DELETE: ^/2 and ^/3 as grammar built-ins.
FIXED: make install in clpqr was broken if we used local install_sh .
DELETE: atan/2 arithmetic function, use atan2/2 instead (WG17).
FIXED: compilation in Solaris was broken because of conflict in declaration of gethostname.
FIXED: acyclic_term/1 is now built-in (WG17).
NEW: subsumes_term/2 (WG17).
Highlights:
- configure system rewritten and simplified
- better emulation of SWI, especially of C-interface, allows:
o port of SWI packages: sgml and plunit work better, clib, RDF,
zlib and http seem to be working well, semweb compiles
o better integration with C: it is now possible to call YAP from JPL
reliably (all tests in the demos/java directory succeed in Linux)
o it is now possible to create a stream with SWI routines and use
YAP IO (parser, writer) on it
o pyswip: YAP now includes a version of the pyswip package for
experimentation: all the demos seem to be work (YAP must be compiled
as a dynamic library)
- compilation in Sun and NetBSD
- YAP can now handle very, very large terms in compiled clauses.
- several new builtins
- improve thread implementation, especially locking in IO routines and indexing
o fix C thread interface
- fix odbc support in MYDDAS
- fix overflow in ==
- fix bad call to subsumes/2
- new version of trie library, developed by Theo and Ricardo
Changes in Yap-6.0.5:
- Very large programs: indexing very large DBs requires very large
intermediate data-structures. malloc is changed to avoid
memory fragmentation.
- Heap data-structures: there was some confusion about what should be
going through save/restore and atom-gc, and what is local to a
run. Fixed that by two files describing the two types: global
variables and code-space data structures.
- SWI emulation cleanup: some builti-ins (like predsort/3, plus/3) are
now in YAP proper, the file was cleaned up and made to rely more on
Changes in Yap-6.0.4:
Overhaul/cleanup of the attributed variable and coroutining code:
- attributed variables now don't have a separate stack; instead,
they are allocated as global variables.
- Prolog code for attributed variables cleaned up: layers now
are engine, hprolog/SWI attvars, freeze and SICStus emulation
libraries
Changes in Yap-6.0.3:
6.0.3 is another bug fix release:
- a bug in indexing large integers
- a choice-point left over in consulting
- fix error handling in comparisons
- garbage collection of functor/3 could sometimes break
- fixes to chr port
- exec_prefix
- bad error reporting in some arithmetic conditions
- erf function
- win32 install fixes
- operators need to be exported in module list, some weren't.
- tabling stuff
Changes in Yap-6.0.2:
This is a bug fix release:
- fix current_op/3 in WIN32 (P Moura)
- fix nb_current/2 (J Santos) and add SWI user:exception/3
(Bernd and Jose), add fix to nb_ in distributed ProbLog.
- fix goal_expansion
- fix clp(fd) all_distinct/1 and circuit/1 (M Triska)
- fix seekable file detection in WIN32
- add yap.pdf and yap.html to win32 bundle (M Ferreira).
- check for badly typed calls to load_files and friends.
- threads: fix bad locking while spying (P Moura).
Changes in Yap-6.0.1:
- engine improvements;
- many bug fixes;
- new implementation of arithmetic;
- better ISO compatibility;
- improvements in tabling;
- SWI-compatibility, YAP now includes support for most of the
SWI foreign interface, and many built-ins, ports of SWI
packages include jpl, chr, clpfd, clpr, sgml, prolog_xref,
swi-minisat interface, and plunit;
- yap-6 also includes a really cool new language called ProbLog.
Changes in Yap-5.1.4:
- FIXED: bad locking in p_signal (obs from Paulo Moura).
- FIXED: DESTDIR and chr.
- FIXED: make term_variables a builtin. (SWI compatibility).
- NEW: X is random(Int) (SWI compatibility).
- NEW: seletchk/3.
- FIXED: do meta-expansion from undefp.
- FIXED: handle correctly flatten([_,[_]],L).
- FIXED: bad syntax in config.h (patch from Keri Harris).
- NEW: format over atom/1.
- FIXED: clean up apply_macros in swi mode.
- FIXED: clean up meta-expansion.
- FIXED: do meta-expansion from undefined call.
- NEW: selectchk/3, nth1/3 and nth1/4.
- FIXED: YapOpcodes has wrong formats (obs from Bart Demoen).
- FIXED: improve format message (obs from Bart Demoen).
- NEW: more versions of maplist (obs from Bart Demoen).
- FIXED: use import mechanism for SWI's flatten/2 (obs from Bart Demoen).
- FIXED: steps towards typed rbtrees plus some cases where one should not copy the null node (Tom Schrijvers and Bart
Demoen).
- FIXED: map_tree in trees library (Bart Demoen).
- FIXED: bad call to splay_tree (Bart Demoen).
- FIXED: bad type for write_x_var in add_info (Bart Demoen).
- FIXED: exec/3 should flush streams.
- FIXED: load_files/2 compilation_mode to allow :- source and replace compile by compact.
- FIXED: list_concat/2 (fix from Bart Demoen).
- NEW: dgraph_reachable/3 and friends.