[Ecls-list] ANN: ECL 9.6.0

Oliver Kullmann O.Kullmann at swansea.ac.uk
Fri Jun 12 15:08:20 UTC 2009


Hi,

something seems wrong with the packages:
It is called "9.6.0", but apparently the correct
version number is 9.6.1, since this is the directory
created?

Oliver


On Fri, Jun 12, 2009 at 03:15:29PM +0200, Juan Jose Garcia-Ripoll wrote:
> ECL 9.6:
> ========
> 
> Important changes related to the usability of the debugger and
> inspector, debugging of compiled C code, handling of floating point
> exceptions and creation and manipulation of NaNs and infinities, among
> other things. Please reade the Changelog.
> 
> Support for Solaris/Intel has been added. The windows ports are right
> now broken. Please stay with 9.4.0 if support for those platforms is
> needed, until we fix the problems. Remaining ports, such as OSX,
> Linux, *BSD are working fine.
> 
> * MOP:
> 
>  - CALL-METHOD has only one required argument. Affects only calls to this
>    macro inside nonstandard method combinations.
> 
> * Visible changes:
> 
>  - Physical pathnames do not always have a namestring from which they can be
>    reconstructed. This is the case of directory pathnames with version numbers,
>    for instance. Formerly ECL would refuse to print those pathnames if
>    *PRINT-READABLY* was true, but now it uses instead a #. form.
>     > (write (make-pathname :directory '(:relative)
>                             :name nil :type nil :version :newest)
>              :readably t))
>     #.(MAKE-PATHNAME :HOST NIL :DEVICE NIL :DIRECTORY '(:RELATIVE) :NAME NIL
>                      :TYPE NIL :VERSION :NEWEST :DEFAULTS NIL)
> 
>  - WITH-CSTRING automatically coerces extended strings to base strings,
>    signalling an error when this is not possible.
> 
>  - New command line arguments, --heap-size, --lisp-stack, --frame-stack and
>    --c-stack control the different memory limits.
> 
>  - The stack size is now measured in bytes, not in lisp words.
> 
>  - The out of memory error (ext:storage-exhausted) can now be recovered.
>    By default a correctable error is signaled and the user is given the
>    chance to increase the heap size.
> 
> * Function names:
> 
>  - Added a new section in external.h for defining compatibility macros
>    for functions that changed name.
> 
>  - make_longfloat() is renamed ecl_make_longfloat().
> 
>  - Some functions got new names: ecl_make_cfun, ecl_make_cfun_va,
>    ecl_make_cclosure_va, ecl_def_c_function, ecl_def_c_function_va.
> 
> * Numerics:
> 
>  - A new configuration flag --with-ieee-fp adds support for NaN's, infinities
>    and signed zeros, disabling certain floating point exceptions by default.
>    In addition, when this is set, functions like LOG or ATAN will not
>    signal errors when their arguments are not valid, but rather return NaN's
>    (LOG 0) => -infinity, (ATAN 0.0 0.0) => NaN
> 
>  - A new command line option --trap-fpe / --no-trap-fpe tells whether ECL
>    should ignore floating point exceptions and produce NaNs and infinities
>    or either use the condition system to produce the associated errors.
> 
>  - Two new functions, EXT:FLOAT-NAN-P and EXT:FLOAT-INFINITY-P.
> 
>  - Eight new constants for the eight possible infinities
>    EXT:{SHORT,SINGLE,DOUBLE,LONG}-FLOAT-{POSITIVE,NEGATIVE}-INFINITY
> 
> * Interrupt handling:
> 
>  - Under Mac OS/X, ECL now uses its own modified version of the Boehm-Weiser
>    garbage collector that allows both --enable-gengc and our optimized
>    code for signal handling.
> 
>  - New condition EXT:SEGMENTATION-VIOLATION signaled by SIGSEGV and SIGBUS
>    events.
> 
>  - Added support for the floating point exception FE_INVALID, which is
>    signalled when trying to do 0/0 or sqrt(-1) (A. Gavrilov)
> 
>  - SI:TRAP-FPE always returns an integer denoting the new active / inactive
>    floating point traps. In particular, (SI:TRAP-FPE 'LAST T) returns the
>    currently active traps. This value can be passed to SI:TRAP-FPE as first
>    argument again. This is useful for performing a computation without traps
> 	(let* (( (si::trap-fpe 'last nil)))
> 	  (prog1 (/ 0.0 0.0) (si::trap-fpe bits t)))
> 
>  - A new configurable option ECL_OPT_THREAD_INTERRUPT_SIGNAL determines
>    which Unix interrupt type is used to communicate between threads.
> 
> * Debugger:
> 
>  - Compiled functions now carry information about their source file
>    (based on patches by Jean-Claude Beaudoin)
> 
>  - The compiler can now generate some Lisp constants as static C expressions
>    (based on patches by JCB)
> 
>  - The debugger is now fit for multithreaded environments (JCB)
> 
>  - Compiled functions with DEBUG=3 now produce information about their
>    arguments and variables, that can be inspected in the debugger
>    (evolved from patches by JCB).
> 
>  - ECL records the file position of a compiled form / function instead of
>    the form number in that file.
> 
> * Bugs fixed:
> 
>  - Remove an obsolete #if statement for Solaris that broke current builds
>    with Solaris 10.
> 
>  - The mechanism for checking the existence of [u]int{16,32,64}_t or other
>    replacement types was not used for [u]int8_t.
> 
>  - When COMPILE-FILE is invoked with a non-nil value of :OUTPUT-FILE, ECL
>    now honors the file type supplied by the user, instead of overriding it
>    with "fas" or "fasl". The same applies to COMPILE-FILE-PATHNAME.
> 
>  - When building ECL's C preprocessor (dpp), the value of CPPFLAGS was
>    not used.
> 
>  - A wrong order in the list of libraries (-lpthread -lgc) prevented ECL
>    from having multithread support in FreeBSD, OpenBSD and NetBSD.
> 
>  - Removed a shell command from src/Makefile.in The command used braces {}
>    which FreeBSD does not understand.
> 
>  - Changed the way in which threads are created and registered with ECL to
>    avoid certain race conditions and data loss when it takes a long time
>    betwee calls to mp:make-proceess and mp:process-enable
> 
>  - ecl_import_current_thread() now properly stores the thread handle in
>    the process object and can be called multiple times for the same thread.
> 
>  - When performing unoptimized function calls, the interpreter did not save
>    actual value of the lexical environment, thus preventing the debugger from
>    inspecting it (fixed by JCB).
> 
> 
> -- 
> Instituto de Física Fundamental, CSIC
> c/ Serrano, 113b, Madrid 28006 (Spain)
> http://juanjose.garciaripoll.googlepages.com
> 
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables unlimited
> royalty-free distribution of the report engine for externally facing 
> server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> Ecls-list mailing list
> Ecls-list at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ecls-list





More information about the ecl-devel mailing list