|
Release Notes
|
Version 5.2 (June 14 2001)
This release contains several new libraries, new interfaces including a
Java interface, as well as minor improvements and bug fixes. It is compatible
with release 5.1 with the small exceptions listed below.
Libraries
-
New Library: Interval Constraints (ic)
-
The new library ic implements arithmetic constraints over the
domain of real and integers. It combines (and is intended to eventually
replace) the functionality of the fd and ria libraries.
-
New Library: Probing for scheduling (probing_for_scheduling)
-
This is a complete search method for resource-constrained scheduling problems.
The user interface is similar to the cumulative constraint, but includes
a cost function to be minimised.
-
New Library: Generic source processor (source_processor)
-
A support library to facilitate the processing of ECLiPSe source code.
-
New Library: Pretty Printer (pretty_printer)
-
Converts ECLiPSe source files to coloured and hyperlinked html files.
-
New Library: Stable variable names (var_name)
-
User defined names for variables.
-
lib(eplex) enhancements
-
Support for multiple linear solvers through multiple handles.
-
Optional pruning of bounds based on the reduced costs: reduced_cost_pruning/2.
-
Simplified handling of exceptional solver results by raising one of the
events eplex_suboptimal, eplex_unbounded, eplex_unknown, eplex_abort instead
of the old 'CPLEX_ABORT' event.
-
Added lp_release_licence/0
-
lib(document) enhancements
-
Can be used more easily for standalone projects.
Enbedding and Interfaces
-
Remote Tcl Interface
-
Tcl/Tk interface using separate Tcl and ECLiPSe processes. See the new
chapter in the Embedding and Interfacing Manual.
-
New Library: Remote tools attachment
-
Allows the Tk development tool set to be used with any ECLiPSe session.
-
Java/ECLiPSe Embedding Interface
-
Embed your ECLiPSe application into a Java host environment. See the new
chapter in the Embedding and Interfacing Manual.
Development Environment
-
GUI enhancements (TkEclipse)
-
New term observation facility - keep track of data modification
-
Enhanced term inspection - better display of lists
-
Conditional spy points - match goal templates and general conditions
-
Failure analysis - quickly find the reason for a failure or abort
-
Consistent use of buttons: double left-click now fires inspector, right
click for popup menu
-
Query matching on top-level windows moved to right mouse button; standard
buttons/control-key sequences now supported for selection/movement.
-
Command Line Toplevel
-
Toplevel now consistently displays the More-prompt when the query has left
a choice point (this used to be suppressed when the query had no variables).
-
Failure analysis - use the new debugger command 'q'
Kernel features
-
Bounded real numbers - real numbers bounded by two floats are now a fully
integrated numeric type
-
Shelves - storing information across failure in a safe way
-
update_struct/4 - copy and modify structures without knowing all the fields
-
Spy - the spy/2 command is less fuzzy about predicate visibility
-
get_event_handler/3 added
-
Implemented syntax options for ISO-compatible escape sequences and base
number notation. See User Manual, Appendix Syntax.
-
The priority of delayed goals created via delay-clauses now corresponds
to the priority setting of the goal predicate (see set_flag/3).
-
On Windows, getenv/2 can now look up certain registry entries.
-
Updated to version 3.1.1 of the GNU Multi Precision Arithmetic Library.
Incompatibilities
-
The type name 'real' has been consistently renamed to 'float'. This affects:
-
type_of/2 now returns 'float' rather than 'real' for floating point numbers
-
type macro, portray and nonlogical array declarations: type(real) needs
to be renamed to type(float)
-
float/1 replaces real/1
-
real/1 still exists and now succeeds for both floating point numbers and
for bounded real numbers, i.e. real(X) :- float(X);breal(X).
-
read_token/2,3 return 'float' rather than 'real' as the token class for
floating point numbers.
-
The toplevel interpreter has been moved from the kernel to lib(toplevel).
This implies:
-
The predicate break/0 is no longer a built-in and must be imported from
lib(toplevel) if needed
-
When running eclipse with the -e command line option, no toplevel interpreter
is available by default.
-
Programs using lib(eplex) which used to define a handler for the 'CPLEX_ABORT'
event need to be changed to instead handle the more precise events eplex_suboptimal,
eplex_unbounded, eplex_unknown, eplex_abort. However, the default behaviour
may now be appropriate, e.g. the default for the eplex_unknown case (unbounded
or infeasible) is now to fail. See lp_solve/2 for details.
-
Syntax: inside single or double quoted items an escape character (backslash)
followed by an invalid escape sequence is now a syntax error. Previously,
the escape character was simply ignored. The number of recognised escape
sequences has been increased to enhance compatibility.
Previous release notes
Interface to LP/MIP solvers