[Ecls-list] ANN: ECL 9.6.0

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Fri Jun 12 16:51:19 UTC 2009


That is just a minor thing, come on. The problem is my network
connection broke in the middle of a transmission, and the file had to
be renamed in order to be able to upload it.

On Fri, Jun 12, 2009 at 5:08 PM, Oliver
Kullmann<O.Kullmann at swansea.ac.uk> wrote:
> 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
>
>



-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com




More information about the ecl-devel mailing list