not there. fix try_logical and friends to handle case where predicate has arity 0. git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2278 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
612 lines
33 KiB
HTML
612 lines
33 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
|
"http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
|
|
|
|
<html>
|
|
|
|
<head>
|
|
<title>YAP change log</title>
|
|
<link rel=stylesheet href="changes.css" type="text/css">
|
|
</head>
|
|
|
|
|
|
<body>
|
|
|
|
<hr>
|
|
|
|
<h1>Changes in YAP-5.1</h1>
|
|
|
|
<h2>Yap-5.1.3:</h2>
|
|
<ul>
|
|
<li> FIXED: try,retry,trust_logical should handle 0 arguments correctly.</li>
|
|
<li> FIXED: RecoverSlots should check if there are slots to recover.</li>
|
|
<li> FIXED: syntax errors should know they are in an included file.</li>
|
|
<li> FIXED: ungetc should not mess with streams.</li>
|
|
<li> FIXED: LogTalk has its own distribution (Paulo Moura).</li>
|
|
<li> FIXED: Introduce YAP_RunGoalOnce and make sure we actually
|
|
reover as much ASP as possible (obs from Jean Mehat).</li>
|
|
<li> FIXED: abolish_dynamic should drop FAIL_OP (obs from N
|
|
Angelopoulos).</li>
|
|
<li> FIXED: cygiwn should ignore SWI console (obs from A N Saravanaraj).</li>
|
|
<li> FIXED: avoid null pointer (obs from Nicos Angelopoulos).</li>
|
|
<li> FIXED: do not allow duplicate values in rbtrees (obs from Jan
|
|
Wielemaker and Rui Mendes).</li>
|
|
<li> FIXED: handle SIGPIPE and improve USR1 and USR2 (obs from Nicos
|
|
Angelopoulos).</li>
|
|
<li> NEW: tmp_file/2 (request from Nicos Angelopoulos).</li>
|
|
<li> FIXED: too much pruning on predicate_property/2 (obs from Nicos
|
|
Angelopoulos).</li>
|
|
<li> FIXED: make sure we return to system mode on failing yesno.</li>
|
|
<li> FIXED: debugger was broken on call/n.</li>
|
|
<li> FIXED: user:expand_goal should be called before import,
|
|
not after.</li>
|
|
<li> NEW: add apply SWI library to apply_macros.</li>
|
|
<li> NEW: add forall/2 and ignore/1 to system (SWI compatibility).</li>
|
|
<li> FIXED: apply_macros should also define the predicates it exports
|
|
(obs from Rui Mendes).</li>
|
|
<li> FIXED: complain if we want to redefine an imported module.</li>
|
|
<li> FIXED: X is -(222222222222) would crash (obs from Jan Wielemaker).</li>
|
|
<li> FIXED: more restore fixes.</li>
|
|
<li> FIXED: don't ever jump to mid of lu code.</li>
|
|
<li> FIXED: bad mem management in threads (obs from Paulo Moura).</li>
|
|
<li> FIXED: should init_slots when sucessfully exiting (obs from
|
|
Trevor Walker).</li>
|
|
<li> FIXED: predicate_property should work for empty dynamic predicates.</li>
|
|
<li> FIXED: scanning very large numbers (obs from Ryszard Szopa).</li>
|
|
<li> FIXED: regexp core-dump (obs from Ryszard Szopa).</li>
|
|
<li> FIXED: handle message_queue_create/1 with vars right (obs from
|
|
Paulo Moura).</li>
|
|
<li> FIXED: handle thread overflow right (obs from Paulo Moura).</li>
|
|
<li> NEW: upgrade clpqr and chr (SWI compatibility).</li>
|
|
<li> NEW: expects_dialect/1 directive (SWI compatibility).</li>
|
|
<li> NEW: terms:unifiable/3 (SWI compatibility).</li>
|
|
<li> NEW: -q flag for silent booting (request from Nicos Angelopoulos).</li>
|
|
<li> NEW: verbose prolog_flag fixes silent (obs from Nicos
|
|
Angelopoulos).</li>
|
|
<li> FIXED: true_file_name/3 was totally broken (obs from Nicos Angelopoulos).</li>
|
|
<li> FIXED: Environment variables should only be seen at the beginning
|
|
of the file (obs from Samir Genaim.)</li>
|
|
<li> FIXED: [ ] should be processed by parser, not by scanner (obs
|
|
from Samir Genaim).</li>
|
|
<li> NEW: file_base_name/2.</li>
|
|
<li> FIXED: in console, count input characters as being output, as they
|
|
are also supposed to be displayed by the console manager.</li>
|
|
<li> NEW: SWI/SICStus compatible messaging system.</li>
|
|
<li> FIXED: YAPSHAREDIR was only used when creating the saved state (obs from
|
|
Nuno Fonseca).</li>
|
|
<li> FIXED: indexing code could not see end of static clause (obs from
|
|
Lisa Torrey).</li>
|
|
<li> FIXED: indexing code for dynamic predicates was broken with
|
|
profiling (obs from Lisa Torrey).</li>
|
|
<li> NEW: time_file/2 (SWI-compatibility).</li>
|
|
<li> NEW: module_transparent declaration (SWI-compatibility).</li>
|
|
<li> NEW: strip_module/3 (SWI-compatibility).</li>
|
|
<li> FIXED: head of if/3, ->/2, *->/2 and once/1 should not be able to
|
|
cut up to predicate level. Don't ask me why.</li>
|
|
<li> NEW: *->/2 (SWI-compatibility).</li>
|
|
<li> NEW: variable_names_may_end_with_quotes allows A' in variable
|
|
names (request from Nicos Angelopoulos).</li>
|
|
<li> SPEEDUP: quickly check if we are importing an undefined goal.</li>
|
|
<li> FIXED: current_predicate/1 should enumerate all non-system predicates
|
|
visible (obs from Nicos Angelopoulos).</li>
|
|
<li> NEW: time/1 (based on the SWI-Prolog time/1 predicate; request from Paulo Moura).</li>
|
|
<li> FIXED: with 64 bits indexing would separate ints from atoms (obs from A N Saravanaraj).</li>
|
|
<li> FIXED: duplicated clause when starting from trace (obs from A N Saravanaraj).</li>
|
|
<li> FIXED: always remember wchar_t is unsigned in WIN32.</li>
|
|
<li> FIXED: more BOM trouble (obs from P Moura).</li>
|
|
<li> FIXED: testing for BOM forced incorrect execution of gets (obs
|
|
from A N Saravanaraj), also fixed stup call to Ungetc in getc and
|
|
friends.</li>
|
|
<li> FIXED: bad handling of trail overflow.</li>
|
|
<li> FIXED: overflow at entry goal (obs from Paulo Moura).</li>
|
|
<li> FIXED: bug with signals while process wasa dying (obs from Paulo Moura).</li>
|
|
<li> FIXED: compilation in OSX/64 (patches from Will Benton).</li>
|
|
<li> FIXED: do not access erased code (obs from Paulo Moura).</li>
|
|
<li> FIXED: clause/3 should not follow fail.</li>
|
|
<li> FIXED: make sure we don't ask for 0-sized blocks, minimal 64K.</li>
|
|
<li> FIXED: Aux reallocation should always increase aux size.</li>
|
|
<li> NEW: start atom garbage collector by default (except for threads).</li>
|
|
<li> FIXED: restore indices should run over the indices, and not mess
|
|
them up.</li>
|
|
<li> FIXED: make sure to always remove try-trust chains.</li>
|
|
<li> FIXED: don't adjust garbage when doing stack shift.</li>
|
|
<li> FIXED: stack shifter would get ignore big terms.</li>
|
|
<li> FIXED: retract and friends should remove mf pointers.</li>
|
|
<li> FIXED: small memory leaks and use of uninitialised memory (valgrind).</li>
|
|
<li> NEW: char_type/2 and code_type/2 (request from Brian DeVries).</li>
|
|
<li> FIXED: memory leak where I'd try to clear refs from an index
|
|
block before I released the kids (so the refs would never be released).</li>
|
|
<li> FIXED: small glitches with profon.</li>
|
|
<li> NEW: allow re-exporting other modules.</li>
|
|
<li> FIXED: graph add_ and del_ predicates should have the original
|
|
graph as the first argument (obs from A N Saravanaraj).</li>
|
|
<li> FIXED: implement atom holds so that the C-interface can make sure
|
|
the atom garbage collector will not remove an object.</li>
|
|
<li> FIXED: implement JT for CLP(BN).</li>
|
|
<li> FIXED: use safe locking to ensure that dynamic predicates
|
|
run correctly.</li>
|
|
<li> FIXED: use matrices to implement variavel elimination, also fix
|
|
some overflow bugs with matrices.</li>
|
|
<li> FIXED: Yap_shift_visit assumed we were using AUX DL_MALLOC (obs
|
|
from Bernd Gutmann).</li>
|
|
<li> FIXED: auxiliary stack overflow in term_vars (obs from Bernd
|
|
Gutmann).</li>
|
|
<li> FIXED: trail overflow while copying huge terms (obs from Bernd
|
|
Gutmann).</li>
|
|
<li> NEW: compilation_mode option for load_files (request from
|
|
Saverio).</li>
|
|
<li> FIXED: predicate table could not enough room while overflowing
|
|
(obs from Bernd Gutmann).</li>
|
|
<li> FIXED: compile large ground terms outside clauses (obs from Bernd
|
|
Gutmann).</li>
|
|
<li> FIXED: YAP_LeaveGoal should always backtrack, if asked for, for
|
|
deterministic computations (obs from Trevor Walker).</li>
|
|
<li> FIXED: in_this_file_before should check predicate module, not
|
|
current module.</li>
|
|
<li> FIXED: overflow when copying constraints.</li>
|
|
<li> FIXED: MkBlob should try to allocate more space.</li>
|
|
<li> FIXED: make viterbi more efficient by not generating the whole graph.</li>
|
|
<li> FIXED: make static_clause more careful about when static clauses begin.</li>
|
|
<li> NEW: support conditional compilation using if/1,elif/1,else/0,endif/0 directives.</li>
|
|
<li> FIXED: delay abort until garbage collection or stack shifting is over.</li>
|
|
<li> FIXED: grow_trail assumed SREG points to stack top!</li>
|
|
<li> FIXED: latest SWI chr.</li>
|
|
<li> FIXED: allow abolishing imports.</li>
|
|
<li> FIXED: YAP_EnterGoal would set YENV[E_CB] before setting YENV
|
|
(obs from Trevor Walker).</li>
|
|
<li> FIXED: setarg/3 should always set a global variable.</li>
|
|
<li> NEW: define dialect and version_data flags.</li>
|
|
<li> NEW: define __YAP_PROLOG__.</li>
|
|
<li> FIXED: LAM compilation was broken (obs from Bernd Gutmann).</li>
|
|
<li> FIXED: profon was broken.</li>
|
|
<li> NEW: send newline even for unleashed ports (obs from Miguel
|
|
Filgueiras).</li>
|
|
<li> NEW: atom_number/2 for SWI compatibility.</li>
|
|
<li> FIXED: fix YAP_LeaveGoal() (obs from Trevor Walker).</li>
|
|
<li> FIXED: gc generation should not be an integer: otherwise it can
|
|
be misled by global growth.</li>
|
|
<li> FIXED: sub_atom 0 should work.</li>
|
|
<li> FIXED: have has table of preds with repeated functors (obs from
|
|
Bernd Gutmann).</li>
|
|
<li> FIXED: major bugs in encoding support (obs from
|
|
Paulo Moura).</li>
|
|
<li> FIXED: overflow while gc was storing pointers in trail (obs from Angelika Kimmig).</li>
|
|
<li> FIXED: implement directive encoding/1 (obs from Paulo Moura).</li>
|
|
<li> UPGRADED: to current JPL.</li>
|
|
<li> FIXED: incremental garbage collection conflicts with global variables (disable it for now).</li>
|
|
<li> FIXED: trail overflow from calling dynamic predicates (obs from Bernd Gutmann).</li>
|
|
<li> NEW: add nb_*arg versions.</li>
|
|
<li> FIXED: overflow in indexing code (obs from Jesse Davis).</li>
|
|
<li> NEW: improve nb_ routines with linkvar and set_shared_var.</li>
|
|
<li> NEW: make copy_term share ground-terms and add non-sharing
|
|
version, duplicate_term/2.</li>
|
|
<li> FIXED: improve efficiency of global variables.</li>
|
|
<li> FIXED: simplify Makefile of yap2swi by moving yap2swi.o to main.</li>
|
|
<li> FIXED: tabling broken (obs from Will Benton).</li>
|
|
<li> FIXED: updates to SWI C-interface and corresponding extensions to
|
|
C-interface .</li>
|
|
<li> FIXED: be careful to give delayarena exactly what it needs to expand.</li>
|
|
<li> FIXED: improve BNT support with CLP(BN).</li>
|
|
<li> FIXED: support checking for big_nums and readline. (obs from
|
|
Rui Camacho)</li>
|
|
<li> FIXED: make thread_create more compatible with SWI. (obs from
|
|
Paulo Moura)</li>
|
|
<li> FIXED: give startup path to chr. (obs from Paulo Moura)</li>
|
|
<li> FIXED: optimise pre-compiled meta-calls.</li>
|
|
<li> FIXED: CLP(BN) with BNT.</li>
|
|
<li> FIXED: allow dgraphs with graphs of vars.</li>
|
|
<li> FIXED: add matrix library documentation.</li>
|
|
<li> NEW: start atom_gc by default.</li>
|
|
<li> FIXED: array add was not working for dyamic arrays (obs from Rui
|
|
Camacho).</li>
|
|
<li> FIXED: add MATLAB interface docs.</li>
|
|
</ul>
|
|
|
|
|
|
<h2>Yap-5.1.2:</h2>
|
|
<ul>
|
|
<li> FIXED: clauses with floats/large ints should be pinnned (obs from Bernd
|
|
Gutmann).</li>
|
|
<li> FIXED: indexing-code emulator should update S (obs from Rui
|
|
Camacho).</li>
|
|
<li> FIXED: error with atoms in arithmetic messages (obs from Paulo Moura).</li>
|
|
<li> FIXED: bug in meta-calls to external C code (obs from Bernd Gutmann).</li>
|
|
<li> NEW: matlab interface.</li>
|
|
<li> FIXED: search for libraries right.</li>
|
|
<li> FIXED: alarm used alarm(2) but it should use setitimer(2) so that
|
|
timeout can work with millisecs (obs from Bernd Gutmann).</li>
|
|
<li> FIXED: add . to -g goal (obs from Paulo Moura).</li>
|
|
<li> FIXED: min_list (obs from Angelika, Bernd & Niels).</li>
|
|
<li> FIXED: issues with C-Interface (obs from Trevor Walker).</li>
|
|
<li> FIXED: mktime needs to know if daylight time savings are on
|
|
(obs from Bernd Gutmann).</li>
|
|
<li> FIXED: handle atom lookup and functor overflows while parsing
|
|
(obs from Bernd Gutmann).</li>
|
|
<li> FIXED: get rid of static structures for modules (obs from Bernd
|
|
Gutmann).</li>
|
|
<li> FIXED: SREG might be lost on trail/heap overflow, and that would
|
|
confuse later pruning.</li>
|
|
<li> FIXED: UNICODE16 was broken.</li>
|
|
<li> NEW: support for BOM.</li>
|
|
<li> FIXED: debugging and clause/3 over tabled predicates would kill YAP.</li>
|
|
<li> FIXED: memory expansion in deallocate would lose cut pointer.</li>
|
|
<li> FIXED: make growtrail do more than grow chunks of 64KB.</li>
|
|
<li> FIXED: growtrail was broken if called while doing variable shunting.</li>
|
|
<li> FIXED: by default,allow defining infix+prefix/posfix instead of
|
|
using standard ISO.</li>
|
|
<li> FIXED: nb_current was unimplemented (obs from Pablo Beltran).</li>
|
|
<li> FIXED: by default,allow defining infix+prefix/posfix instead of
|
|
using standard ISO.</li>
|
|
<li> NEW: --with-max-workers tells us how many threads we can have (request from Paulo Moura).</li>
|
|
<li> FIXED: wchar_t in the WIN32 is unsigned and 16 bits.</li>
|
|
<li> FIXED: stack overflow when growing the delay stack.</li>
|
|
<li> FIXED: overflows with MIN_INT (obs from Marius Filip).</li>
|
|
<li> NEW: make debugger more like standard debuggers (obs from Miguel Filgueiras).</li>
|
|
<li> NEW: glist_void_varx was broken (obs from Marius Filip).</li>
|
|
<li> NEW: unify_with_occurs_check/2 was broken with extensions (obs from Aline Paes).</li>
|
|
<li> NEW: stack_dump/0 from Trevor.</li>
|
|
<li> NEW: with_mutex/2.</li>
|
|
<li> NEW: call_cleanup/2 and call_cleanup/3 at the request of Paulo
|
|
Moura and Christian.</li>
|
|
<li> FIXED: garbage collector would not understand bindings to mavars in
|
|
tabling version.</li>
|
|
<li> FIXED: cut might not prune correctly around meta-call (obs by
|
|
Trevor Walker).</li>
|
|
<li> NEW: keep history around (use nb and friends).</li>
|
|
<li> NEW: fix determinsitic debugging.</li>
|
|
<li> NEW: make debugger compatible with threads (use nb and friends).</li>
|
|
<li> FIXED: debugger was confused when crossing between regions.</li>
|
|
<li> NEW: unify_with_occurs_check was very broken (obs from Aline Paes).</li>
|
|
<li> NEW: partial support for UNICODE.</li>
|
|
<li> FIXED: ÿ has ISO-LATIN1 code 255, so it would be confused with EOF
|
|
(obs from Miguel Filgueiras).</li>
|
|
<li> FIXED: mess with \+ meta-call and modules (obs from Nicos Angelopoulos).</li>
|
|
<li> FIXED: reconsult with spy was broken (obs from Miguel Filgueiras).</li>
|
|
<li> FIXED: mess with EOF and open (obs from Nicos Angelopoulos).</li>
|
|
<li> FIXED: make use_module/3 handle case where module is given.</li>
|
|
<li> FIXED: library_directory/1 was not being used.</li>
|
|
<li> FIXED: style_checker was failing on DCGs (obs from Miguel Filgueiras).</li>
|
|
<li> FIXED: +inf is a number (obs from Trevor Walker).</li>
|
|
<li> FIXED: if peek finds EOF get should not return an error (obs
|
|
from Miguel Filgueiras).</li>
|
|
<li> FIXED: allow overflows on timestamps.</li>
|
|
<li> FIXED: more fixes for new dynamic code and stack shifting.</li>
|
|
<li> FIXED: if we can generate index on an sub-argument and the
|
|
argument is unbound we should generate the code, suspend
|
|
on it, and then call the system again.</li>
|
|
<li> FIXED: avl_new/1 (obs from Miguel Filgueiras).</li>
|
|
<li> FIXED: broken all/3 (obs from Miguel Filgueiras).</li>
|
|
<li> FIXED: make 128 maximum disjunction depth (obs from Nicos Angelopoulos).</li>
|
|
<li> FIXED: first cut at using timestamps with logical updates.</li>
|
|
<li> FIXED: indexing on doubles wasn't working properly.</li>
|
|
<li> FIXED: sending large lists of atomics to DB was very, very slow.</li>
|
|
<li> FIXED: make library_directory/1 better protected.</li>
|
|
<li> FIXED: make YAP smarter at finding libraries in WIN32.</li>
|
|
<li> NEW: data structures using global variables: queues, heaps and
|
|
beam search support.</li>
|
|
<li> NEW: global variables a la hProlog, includes major changes in
|
|
stack shifter, garbage collector, and setof.</li>
|
|
<li> FIXED: do not call garbage collector if the space we need is more
|
|
than what is available (obs from Nicos Angelopoulos).</li>
|
|
<li> FIXED: recordaifnot(a,_,_) was broken (obs from Jesse Davis).</li>
|
|
<li> SPEEDUP: some speedups to garbage collector (obs from Nicos Angelopoulos).</li>
|
|
<li> NEW: a first cut at readutil.yap (request from Stefan Weinbrenner).</li>
|
|
<li> FIXED: compile | as a disjunction (obs from Ole Edsberg).</li>
|
|
<li> NEW: rbqueues keeps a simple db queue</li>
|
|
<li> NEW: cut_up_to_next_disjunction/0 tries to prune until the closest
|
|
choice-point from the parent disjunction (think query packs).</li>
|
|
<li> FIXED: error condition when we expand to maximum number of variables.</li>
|
|
<li> FIXED: bug when variable list in parser overflows.</li>
|
|
<li> FIXED: min_list (obs from Filip Zelezny).</li>
|
|
<li> FIXED: -l and -L options (again?).</li>
|
|
<li> FIXED: if we cannot read more chars in saved state we're dead.</li>
|
|
<li> FIXED: termination info for failed and detached threads (obs Paulo Moura).</li>
|
|
<li> FIXED: check_callable should check for modules (obs Paulo Moura).</li>
|
|
<li> NEW: add thread_sleep/1, mostly works like system:sleep/1 (request from Paulo Moura).</li>
|
|
<li> NEW: add select/3 and intersection/3 to SWI emulation.</li>
|
|
<li> FIXED: always keep in mind that Yap_WakeUp may change H (would
|
|
break chr).</li>
|
|
<li> FIXED: add_clause of new predicate could get in loop.</li>
|
|
<li> FIXED: don't have to print anything if there is not anything to
|
|
print.</li>
|
|
<li> FIXED: current_thread/2 should fail if called with bad alias or
|
|
ID (obs Paulo Moura).</li>
|
|
<li> FIXED: correct code statistics with DL_MALLOC or SYSTEM_MALLOC.</li>
|
|
<li> NEW: use true_file_name for file operations in system library (obs Paulo Moura).</li>
|
|
<li> NEW: make YAP large address aware on WIN32 (should be able to
|
|
allocate up to 3GB).</li>
|
|
<li> FIXED: WIN32 may have a lot of fragmentation so several memory holes may be active at the same time, keep up to 32 open holes.</li>
|
|
<li> FIXED: WIN32 may move functions without moving emulator: always fix C-functtions.</li>
|
|
<li> FIXED: use $SYSTEMDRIVE to install YAP in WIN32.</li>
|
|
<li> FIXED: compilation bug in arg(X,1,A).</li>
|
|
<li> NEW: extend interface to pass chunks of integers/floats.</li>
|
|
<li> FIXED: get rid of some more global variables.</li>
|
|
<li> NEW: thread_yield/0 (request Paulo Moura).</li>
|
|
<li> FIXED: current_thread was not returning aliases (obs Paulo Moura).</li>
|
|
<li> FIXED: AuxSp was not properly initialised for new threads (obs Paulo Moura).</li>
|
|
<li> FIXED: recusive indexing over unbound compound terms was broken
|
|
(obs Ricardo Lopes).</li>
|
|
<li> FIXED: toplevel_print_options and debugger_print_options was
|
|
broken and undocumented (obs Ashwin Srinivasan).</li>
|
|
<li> NEW: lock streams while using them (concurrent writing is still allowed).</li>
|
|
<li> FIXED: make current_op only walk over atoms.</li>
|
|
<li> FIXED: memory corruption when copying consult stack (obs Paulo Moura).</li>
|
|
<li> FIXED: get rid of some silly locks.</li>
|
|
<li> FIXED: don't compare block top with <= (obs Paulo Moura).</li>
|
|
<li> FIXED: ! was not pruning right in p_execute_clause (obs Nicos
|
|
Angelopoulos).</li>
|
|
<li> FIXED: system/1 and shell/1 should check return code (obs Nicos
|
|
Angelopoulos).</li>
|
|
<li> FIXED: thread_peek_message should use aliases (obs Paulo Moura).</li>
|
|
<li> FIXED: garbage collector should not rewrite cp_tr fields until
|
|
after marking (obs Paulo Moura).</li>
|
|
<li> FIXED: garbage collector was allowing garbage trail entries for
|
|
multi-assignment variables. Namely, old var value might point to new space
|
|
(obs Paulo Moura).</li>
|
|
<li> FIXED: thread aliases were being cleaned up just after being
|
|
installed (obs Paulo Moura).</li>
|
|
<li> FIXED: rb_partial_map was broken.</li>
|
|
<li> NEW: wdgraph and wundgraph libraries, for weighted graphs.</li>
|
|
</ul>
|
|
|
|
<h2>Yap-5.1.1:</h2>
|
|
<ul>
|
|
<li> FIXED: compatibility fixes .</li>
|
|
</ul>
|
|
|
|
<h2>Yap-5.1.0:</h2>
|
|
<ul>
|
|
<li> NEW: new implementation of association lists, based on red-black
|
|
trees. </li>
|
|
<li> NEW: undgraph library, based on dgraphs. </li>
|
|
<li> NEW: dgraphs library, towards a more efficient implementation of
|
|
directed graphs. </li>
|
|
<li> NEW: rb_update, rb_apply, rb_visit, rb_keys and rb_map. </li>
|
|
<li> FIXED: use rb_ prefix for all red black predicates. </li>
|
|
<li> FIXED: got confused about position of syntax error (obs Mark
|
|
Goadrich). </li>
|
|
<li> FIXED: compiling inline lists would compile the lists and then
|
|
some more (obs Nicos Angelopoulos). </li>
|
|
<li> FIXED: message queue ops should not fail silently (obs Paulo
|
|
Moura). </li>
|
|
<li> FIXED: stream bugs in iopreds.c (Takeyuki SHIRAMOTO). </li>
|
|
<li> FIXED: extra backtrack in informational_messages (obs Nicos
|
|
Angelopoulos).</li>
|
|
<li> NEW: abolish_module/1 at the request of Nicos Angelopoulos.</li>
|
|
<li> FIXED: variable shunting needs HB initialised before any marking
|
|
takes place!!!</li>
|
|
<li> FIXED: handle possible overflow in term_variables</li>
|
|
<li> FIXED: check for singleton warnings in .yap files, try to catch
|
|
bugs before they bite people.</li>
|
|
<li> FIXED: make threads compile again, fix some compilation warnings.</li>
|
|
<li> FIXED: use different chains for dead static clauses, static
|
|
indices and dead mega clauses. Extend dead clauses with next field so that
|
|
they can added into chain. Fix restore to see dead clauses.</li>
|
|
<li> FIXED: check if indexing code is live before purging it (obs
|
|
Bernd Gutmann).</li>
|
|
<li> FIXED: pass backtrackable C-preds all flags they ask for (obs
|
|
Tiago Soares).</li>
|
|
<li> FIXED: compilation with dynamic libraries and JPL compilation.</li>
|
|
<li> FIXED: typo in manual (obs Bernd Gutmann).</li>
|
|
<li> NEW: track the current block more aggressively, to avoid
|
|
expand_index taking too long searching for a block.</li>
|
|
<li> FIXED: if LU indices have groups, we should create
|
|
try-retry-trust sequences immediately, otherwise LU semantics can be
|
|
compromised (obs Bernd Gutmann).</li>
|
|
<li> FIXED: when cleaning trail, gc would not always clean value
|
|
field! (obs Remko Troncon).</li>
|
|
<li> FIXED: when cleaning megaclauses, clean flag too.</li>
|
|
<li> FIXED: don't put array twice in list of live arrays (gc would loop).</li>
|
|
<li> NEW: debugger will not backtrack over complete deterministic computations.</li>
|
|
<li> NEW: debugger can show CP stack.</li>
|
|
<li> NEW: internal procedure to show choice-point stack.</li>
|
|
<li> FIXED: Incremental GC could still get confused after backtracking
|
|
over GEN marker. Associate GEN marker with timestamp and make sure
|
|
we only use current GEN markers (obs Mark Goadrich).</li>
|
|
<li> FIXED: Yap on OSX should not make CreepFlag a register, as this
|
|
breaks Interrupt Handling. Also, it seems that if I do not reserve
|
|
r13, GCC will use r14 for its own evil purposes.</li>
|
|
<li> FIXED: make Yap files usable again as a script (obs Ales Kozumplik).</li>
|
|
<li> FIXED: silent informational_messages was being ignored (obs Nicos Angelopoulos).</li>
|
|
<li> FIXED: initialization should only be performed after all
|
|
consulted files are done.</li>
|
|
<li> FIXED: garbage collector now makes refs to erased LU clauses point
|
|
to LogUpdErasedMarker.</li>
|
|
<li> FIXED: get rid of old code referring to LogUpds from within ImmediateSemantics.</li>
|
|
<li> FIXED: indexing code would get confused about size of inlined
|
|
float/1 (obs Paulo Moura).</li>
|
|
<li> FIXED: broken SIGINT with tkyap (Keri Harris).</li>
|
|
<li> FIXED: indexing of bignums was broken, just disable it for now.</li>
|
|
<li> FIXED: pipe open was returning the same descriptor twice (obs Christian Thaeter).</li>
|
|
<li> FIXED: style check should compare with true file name.</li>
|
|
<li> FIXED: ^c should take care about TR and B.</li>
|
|
<li> FIXED: don't pass a pointer to a mpz_t. (obs Nuno Fonseca)</li>
|
|
<li> FIXED: handle heap overflow from huge atoms in
|
|
Yap_LookupAtom/scanner (obs Nuno Fonseca).</li>
|
|
<li> FIXED: bignum was using int where should be long int (obs Roberto Bagnara).</li>
|
|
<li> NEW: x86_64 should have registers, right? First cut at using them.</li>
|
|
<li> FIXED: call_n would break under 64 bits, an int problem.</li>
|
|
<li> FIXED: more compilation problems if GMP not there (obs Remko Troncon).</li>
|
|
<li> FIXED: make syntax error report the line where the bug was (obs Jude Shavlik).</li>
|
|
<li> FIXED: ok, MkBigInt shouldn't free the bigint.</li>
|
|
<li> FIXED: MkBigInt already frees bigint.</li>
|
|
<li> FIXED: don't pass a pointer to a mpz_t. (obs Nuno Fonseca)</li>
|
|
<li> FIXED: YENV may be an HW register (could break some tabling code)
|
|
(obs Remko Troncon) </li>
|
|
<li> FIXED: All YAAM instructions are now brackedted, so Op introduced an { and EndOp intr
|
|
oduces an }. This is because Ricardo assumes that. </li>
|
|
<li> FIXED: compile attvars when COROUTING is undefined. </li>
|
|
<li> FIXED: compiler warnings due to c-interface changes</li>.
|
|
<li> FIXED: scanner would convert LONG_MIN to bigint, but it can be
|
|
represent as a LONG; fixed by using mpz_fits_slong_p (obs Roberto Bagnara). </li>
|
|
<li> FIXED: indexing cut should stop looking after a cut!!!! (obs Paulo Moura).
|
|
<li> FIXED: mktime was broken in WIN32. </li>
|
|
<li> FIXED: don't assume a fixed point for WIN32 memory allocation. </li>
|
|
<li> FIXED: don't call goal_expand when looking for handlers of undefined procedures. </li>
|
|
<li> FIXED: always walk through modules in the same order when waking
|
|
up variables (otherwise, breaks CLP(QR)). </li>
|
|
<li> NEW: SWI-like yap_flag(float_format,_). </li>
|
|
<li> FIXED: change C-interface to use new interface. </li>
|
|
<li> FIXED: << and >> should handle overflows. </li>
|
|
<li> FIXED: mod and rem now implement ISO semantics (hopefully). </li>
|
|
<li> FIXED: change implementation of bigints to be more like GMP style. </li>
|
|
<li> FIXED: handle assert/retracts and gprof overhead right. </li>
|
|
<li> FIXED: indexing code was not setting up properly registers on longjmps. </li>
|
|
<li> FIXED: use RISC architecture on MacOsX (__POWERPC__ + _POWER). </li>
|
|
<li> FIXED: init system predicates should generate full static clause. </li>
|
|
<li> NEW: tabling does not conflit with depth limit (Trevor Walker). </li>
|
|
<li> NEW: make scanner restartable on seekable files (Nuno Fonseca). </li>
|
|
<li> NEW: improve error discovery within scanner (Jude Shavlik). </li>
|
|
<li> NEW: change event profiler to do profiling online and
|
|
off-line. </li>
|
|
<li> NEW: routine to find clause/pred </li>
|
|
<li> NEW: always end clauses with Ystop START, so that we can refer
|
|
back to the clause's beginning. </li>
|
|
<li> NEW: always have a pointer to Pred in clauses, so that we can
|
|
find current predicate. </li>
|
|
<li> NEW: heapgc should now be concurrent when using threads. </li>
|
|
<li> FIXED: heapgc wo tags can handle trail overflows right. </li>
|
|
<li> NEW: heapgc wo tags does not write on the collected areas during marking. </li>
|
|
<li> FIXED: dif/2 might get into trouble restoring assignments to
|
|
attributes. </li>
|
|
<li> NEW: Yap_DebugPlWrite and Yap_DebugErrorPutc for those debugging
|
|
moments. </li>
|
|
<li> FIXED: get rid of dead internal variable MutableList. </li>
|
|
<li> NEW: write_depth/3 for very large compound terms. </li>
|
|
<li> FIXED: new bug in garbage collection. </li>
|
|
<li> FIXED: overflow handling in DB/AttVars was resetting old var, and
|
|
wasn't resetting trail. </li>
|
|
<li> FIXED: when rebuilding DB term with attvars, set global var to
|
|
point to attvar. </li>
|
|
<li> NEW: add school CLP(BN) example. </li>
|
|
<li> NEW: add sc CLP(BN) example. </li>
|
|
<li> FIXED: make exception port more like a true port. </li>
|
|
<li> FIXED: don't run ^ in setof if there are no excess variables. </li>
|
|
<li> FIXED: prolog_load_context(directory) relied on dead code. </li>
|
|
<li> FIXED: some small beautifications for system/1, getcwd/1, sh/1, rename/2. </li>
|
|
<li> NEW: operating_system_error. </li>
|
|
<li> FIXED: Restore could not recover DL_MALLOC info and was not recovering
|
|
DBTerms correctly. </li>
|
|
<li> FIXED: with locking field, AtomNil and friends might not be
|
|
aligned, and would be confused with int. </li>
|
|
<li> FIXED: variables should always be reset when doing trail
|
|
expansion from the parser, even if there is no shifting (obs Trevor
|
|
Walker). </li>
|
|
<li> FIXED: growglobal with realloc was broken. </li>
|
|
<li> FIXED: with threads, self-deadlocking in new array codes. </li>
|
|
<li> FIXED: in tabling, use malloc when AllocCodeSpace fails. </li>
|
|
<li> FIXED: in tabling don't look inside cp_ap == NULL and fix recent
|
|
bug in walking dependency frames. </li>
|
|
<li> FIXED: with tabling ASP sometimes was miscalculated, causing
|
|
trouble with stack shifter (obs Kostis Sagonas). </li>
|
|
<li> FIXED: ~D should print bignums (obs Jude Shavlik). </li>
|
|
<li> FIXED: format's ~d and ~D were broken (obs Jude Shavlik). </li>
|
|
<li> FIXED: profiler should not talk about hidden predicates or idb entries. </li>
|
|
<li> FIXED: recentg change in setof could bind argument (obs
|
|
Jude Shavlik). </li>
|
|
<li> FIXED: EOF (-1) at debugger prompt would generate exception (obs
|
|
Jude Shavlik). </li>
|
|
<li> FIXED: ^C was very broken: break was not accepted, and debug,
|
|
trace and statistics did not work at all (obs Jude Shavlik). </li>
|
|
<li> FIXED: format_has_tabs could miss tab signs (obs Jude Shavlik). </li>
|
|
<li> FIXED: plug holes in memory allocation from scanner (obs
|
|
Mark Goadrich). </li>
|
|
<li> FIXED: instrument memory allocation when using system malloc. </li>
|
|
<li> FIXED: adjust_cp_hbs was readjusting consumer choice-points (it
|
|
can only adjust hb once) (obs Remko Troncon). </li>
|
|
<li> FIXED: try to make GC trace message "marked N vars" intelligible. </li>
|
|
<li> FIXED: garbage collection of mabindings was broken with tabling
|
|
(obs Remko Troncon). </li>
|
|
<li> FIXED: did not initialise tabling variables
|
|
(obs Remko Troncon). </li>
|
|
<li> FIXED: should have meta-predicate definitions for calls and
|
|
discontiguous. </li>
|
|
<li> FIXED: have discontiguous as a builtin, not just as a
|
|
declaration (obs Jude Shavlik). </li>
|
|
<li> FIXED: if first argument was unbound, comparisons might be
|
|
called with second argument undereferenced!! </li>
|
|
<li> FIXED: strip ^ before doing execute in setof or bagof. </li>
|
|
<li> FIXED: use CONST declarations in interface (thanks to Roberto Bagnara). </li>
|
|
<li> FIXED: absmi should consult PREG, not P (obs Remko Troncon). </li>
|
|
<li> FIXED: bad init in tabling code. </li>
|
|
<li> FIXED: YAP_MkBigIntTerm was broken (obs Roberto Bagnara). </li>
|
|
<li> NEW: update documentation to support new CLP(R) and CHR packages. </li>
|
|
<li> FIXED: regression in clpbn/utils.yap. </li>
|
|
<li> NEW: put_attrs/2. </li>
|
|
<li> FIXED: don't install CLP unless coroutining && rational trees are
|
|
active. </li>
|
|
<li> FIXED: syntax error in ypp.yap (obs Paulo Moura). </li>
|
|
<li> FIXED: save/restore should be as usual if using YAP allocation. </li>
|
|
<li> FIXED: save/restore FZ regs. </li>
|
|
<li> FIXED: $loop_stream could be defined early in boot process. </li>
|
|
<li> NEW: make rational trees default. </li>
|
|
v<li> NEW: make enable-max-memory default. </li>
|
|
<li> FIXED: allow people to disable indexing (obs Ricardo Lopes). </li>
|
|
<li> FIXED: make undefined exception more ISO like (obs Paulo Moura). </li>
|
|
<li> FIXED: add missing dependency in chr's Makefile.in. </li>
|
|
<li> FIXED: fix corruption in ypp.yap. </li>
|
|
<li> FIXED: ~@ makes format a meta-predicate. </li>
|
|
<li> FIXED: format should do immediate exit on exception (from Prolog call). </li>
|
|
<li> FIXED: make format reentrant and thread-safe (format may call itself). </li>
|
|
<li> FIXED: don't complain if a module is loading a reexported
|
|
predicate and the original predicate. </li>
|
|
<li> FIXED: change a few defaults for SWI compatibility. </li>
|
|
<li> FIXED: library prandom was broken (obs Nuno Fonseca). </li>
|
|
<li> NEW: add max_tagged_integer and min_tagged_inter prolog_flags. </li>
|
|
<li> NEW: add ~@ option to format. </li>
|
|
<li> NEW: memberchk/2 is like builtin in SWI emulation lib. </li>
|
|
<li> NEW: SWI like prolog_source_location/2 </li>
|
|
<li> FIXED: $loop_stream usage was broken. Fix $fetch_stream_alias to
|
|
be bidirectional.</li>
|
|
<li> FIXED: allow nb_set followed by b_set, bheakkkk! The other way round
|
|
is still not allowed.</li>
|
|
<li> NEW: from SWI maplist/2, maplist/3, maplist/4.</li>
|
|
<li> NEW: call/2, call/3, call/4.</li>
|
|
<li> FIXED: disable mutables in SWI mode. </li>
|
|
<li> FIXED: safe C-preds should always use P when calling garbage
|
|
collector, aarrggh :-(, CP use found in GetTermFromArray.</li>
|
|
<li> NEW: SWI-like ord_empty/1 and ord_memberchk/2 in library(ordsets).</li>
|
|
<li> FIXED: safe call_c should check for signals before calling a built-in.</li>
|
|
<li> NEW: -p option allows setting path from command line.</li>
|
|
<li> FIXED: during grow, heap references should not be followed from trail.</li>
|
|
<li> FIXED: \= was not resetting wakeups correctly.</li>
|
|
<li> FIXED: copy_term was broken if attrs were an unbound variable.</li>
|
|
<li> FIXED: during garbage collection, heap references should be
|
|
copied to trail, and that's it.</li>
|
|
<li> FIXED: excessive backtracking in multifile declaration.</li>
|
|
<li> NEW: allow style_check(singleton) and style_check(-singleton).</li>
|
|
<li> NEW: SWI module now makes atom_concat/{2,3} behave like atomic_concat/{2,3}.</li>
|
|
<li> NEW: add SWI-like copy_term_nat/2.</li>
|
|
<li> NEW: add SWI-like get_time and convert_time, but using integers, not floats.</li>
|
|
<li> NEW: add SWI-like working_directory/2 and chdir/2.</li>
|
|
<li> NEW: add append/3 and member/2 to SWI module.</li>
|
|
<li> FIXED: use bootstrap/1 to load up system.</li>
|
|
<li> FIXED: use_module/3 did not get info on loaded_module.</li>
|
|
<li> NEW: use_load_files as main file loading option.</li>
|
|
<li> FIXED: broken do_print_message for defined_elsewhere.</li>
|
|
<li> FIXED: debugger option.</li>
|
|
<li> FIXED: trace through undefined predicates correctly.</li>
|
|
<li> FIXED: WIN32 missing include files (untested)</li>
|
|
<li> FIXED: -L trouble (my thanks to Takeyuchi Shiramoto-san)!</li>
|
|
<li> FIXED: debugging of backtrable user-C preds would core dump.</li>
|
|
<li> FIXED: redeclaring a C-predicate as Prolog core dumps.</li>
|
|
<li> FIXED: badly protected YapInterface.h.</li>
|
|
<li> FIXED: break/0 was failing at exit.</li>
|
|
<li> FIXED: YAP_cut_fail and YAP_cut_succeed were different from manual.</li>
|
|
<li> FIXED: tracing through data-bases could core dump.</li>
|
|
<li> FIXED: cut could break on very large computations.</li>
|
|
<li> FIXED: first pass at BigNum issues (obs Roberto Bagnara).</li>
|
|
<li> FIXED: debugger could get go awol after fail port.</li>
|
|
<li> FIXED: weird message on wrong debugger option.</li>
|
|
<li> FIXED: cases where restore/1 could break.</li>
|
|
<li> NEW: SWI predicates now update prolog module</li>
|
|
<li> NEW: port of Leslie's CLP(R) system.</li>
|
|
<li> NEW: generations in garbage collector.</li>
|
|
<li> SPEEDUP: optimise some garbage collector code.</li>
|
|
</ul>
|
|
|
|
<hr>
|
|
|
|
</body>
|
|
|
|
</html>
|