Release Notes

Patches for release 4.2

Patch 1 (Aug 20 1999)
Fixed problems with killing tracer window in tkeclipse. Tkeclipse interrupt button now works even when no wish8.0 in PATH. Corrected handling of modules during inlining. lib(conjunto) works again. lib(clpq/r) works again. optimize/2 now works with XPRESS-MP student edition.
Patch 2 (Dec 1 1999)
Updated ISO compatibility library lib(iso). Improvements to lib(ech). Fixed problem with ::/3 in lib(fd). Fixed problem with loading lib(ria) on Windows. Fixed problem with tracing lib(repair) in tkeclipse. Made tkeclipse cope with very long trace lines.

Version 4.2 released on 8/8/1999

Tkeclipse development GUI
Several improvements: interrupt button, better help, better delayed goals viewer, annoying error popup removed, tracer and inspector improvements, statistics window, printing of query execution time.
Search techniques
This release comes with a number of new libraries and facilities for incomplete search and local search methods, as well as a tutorial on different search methods. Substantial enhancements to the repair-library.
Eplex library
The library has been updated to work with CPLEX 6.5 and XPRESS-MP 11. In the Windows version, you can use XPRESS-MP 11 in student mode which does not require a licence.
Inlining
Goal macros have been replaced by a new inlining feature (inline/2), which is similar to goal macros but fully consistent with the module system. Inlining is now a predicate property and therefore gets imported/exported/abolished along with the predicate it is attached to.
Structures with multiple inheritance
Structures can now be declared to contain other structures and thus inherit their fields.
Alldifferent constraint
The alldiff_strong library uses a new, stronger propagation algorithm.
I/O
Streams now have a flush(end_of_line) option which can be set via open/4. It causes the stream to flush automatically after every line. This is set by default for ttys and for output/error if they are queues.
Timers
The primitives event_after/2 and event_after_every/2 have been introduced as a more versatile replacement for set_timer/2 and alarm/1.
Waking
If a variable has a 'constrained' suspension list attached, and the variable gets instantiated to a term containing other variables, then these variables inherit this 'constrained' suspension list (actually only the demons because the list is woken as well).
Compiler warnings
The default behaviour for event 145 (redefining a predicate in a different file) has been changed to print a warning. Problem with duplicate 'undefined predicate' warnings has been fixed.
Bug fixes
Protection violation under Windows after syntax error involving attributed variables. Fixed a number problems in the conjunto (set constraints) and ech (constraint handling rules) libraries. Exec/2,3 with lists behaves now as documented. No more duplicate warnings about undefined predicates. Fixed a problem that caused crashes during garbage collections within the tracer. Timeouts now work in tkeclipse.

Previous release notes