[ANN] ECL 9.12.1

  • Follow


Announcement of ECL
===================

ECL stands for Embeddable Common-Lisp. The ECL project aims to produce
an
implementation of the Common-Lisp language which complies to the ANSI
X3J13
definition of the language.

The term embeddable refers to the fact that ECL includes a lisp to C
compiler,
which produces libraries (static or dynamic) that can be called from C
programs. Furthermore, ECL can produce standalone executables from
your lisp
code and can itself be linked to your programs as a shared library.

ECL supports the operating systems Linux, FreeBSD, NetBSD, OpenBSD,
Solaris (at
least v. 9), Microsoft Windows and OSX, running on top of the Intel,
Sparc,
Alpha and PowerPC processors. Porting to other architectures should be
rather
easy.

ECL is currently hosted at Common-Lisp.net and SourceForge. The home
page of
the project is http://ecls.sourceforge.net, and in it you will find
source code
releases, a CVS tree and some useful documentation.

Known issues
============

- The Mingw port does not work with the stable version of the Boehm-
Weiser
  garbage collector. Users will have to download a more recent version
and
  build and install it in an accessible location for ECL to compile.

- The OpenBSD port does not support multithreaded builds because the
latest
  stable version that runs on it does not contain all the required
  functionality.

- --with-cxx is currently broken and ECL does not BUILD with a C++
compiler,
  but it can still be USED in C++ programs.

ECL 9.12.1:
===========

* Platform support:

 - Support for Itanium.

 - Support for Solaris and SunStudio compiler.

 - Support for Microsoft Visual Studio C++ 10 beta.

 - Support for Cygwin.

* Visible changes:

 - New function EXT:ARRAY-RAW-DATA returns a non-adjustable vector of
type
   (UNSIGNED-BYTE 8) with the content of an array. The returned array
overlaps
   with the original, so any change on one will affect the other.

 - LOAD works on special files (/dev/null and the like).

 - New command line option --version outputs the version number
preceded
   by the implementation name ("ECL 9.11.1" in this particular
release).

 - MULTIPLE-VALUE-BIND is optimally replaced with a LET form when the
number
   of variables is 1.

 - ECL now accepts Windows' UNC pathnames.
    (with-open-file (s #P"//JUANJO-IMAC/Public Folder/index.html"
                       :direction :input)
      (loop for l = (read-line s nil nil)
            while l
            do (princ l)))

 - The default memory limits are increased up to 512Mb for 32 bit
images and
   4Gb for 64-bits systems.

 - The bignums generated by RANDOM did not contain enough random bits.

* Bugs fixed:

 - In single-threaded builds, ECL did not properly restore the signal
mask
   before jumping out of a signal handler.

 - Floating point exceptions were sometimes ignored, leading to
infinite loops.

 - A new configuration flag is added, --with-dffi. This flag allows
   deactivating the foreign function interface when the compiler does
not
   support inline assembly with the GCC syntax and libffi is not
available.

 - In a multithreaded ECL, when handling a Ctr-C/SIGINT asynchronous
interrupt,
   the CONTINUE restart was not always available.

 - In cygwin, LOAD was unable to load and execute binary files.

 - In cygwin, FASL files can not lack a file extension, because dlopen
()
   then looks for a file ending in ".dll" and fails.

 - In cygwin, files that are dlopen'ed must have executable
permissions.

 - ECL ignored the IGNORABLE declaration.

 - The IGNORE/IGNORABLE declarations accept (but ignore) arguments of
the
   for (FUNCTION function-name).

 - SUBTYPEP caused a SIGSEGV when the input was a not finalized class.

 - Due to the SUBTYPEP bug, ECL could not compile DEFMETHOD forms
whose
   arguments referenced non-finalized classes

 - When supplied an error value, (EXT:SAFE-EVAL form env &optional err-
value)
   never returned the output of the evaluated form.

 - FIND-SYMBOL accepted string designators instead of just strings, as
   mandated by the ANSI specification.

 - APPEND copied also the last argument.

 - (LOG #C(x x)) now produces a better result when x == 0

 - (ATAN #C(0.0 1.0)) no longer produces an infinite recursion.

 - Solved a hard to hit bug in DEFCLASS's routine for detecting
collisions in
   slot names

 - LOG and LOG1P did not work properly with NaNs under linux.

 - ECL had problems combining #. and #n=/#n# reader macros.

 - FDEFINITION and SYMBOL-FUNCTION caused an incorrect error condition
when
   acting on NIL.

 - The optimizer for TYPEP did not work when passed three arguments.

* Clos:

 - CLOS:SET-FUNCALLABLE-INSTANCE-FUNCTION broke the value if
SI:INSTANCE-SIG,
   preventing any further access to the instance slots.

 - The optimized slot accessors check that the instances are up to
date.

 - The use of MAKE-INSTANCES-OBSOLETE now forces UPDATE-INSTANCE-FOR-
REDEFINED-CLASS
   to be invoked even if the slots did not change.

 - ENSURE-GENERIC-FUNCTION-USING-CLASS does not provide a default
method class.

* Sockets:

 - The socket option TCP_NODELAY option has been fixed: it was
improperly using
   the socket interface SOL_SOCKET instead of IPPROTO_TCP (Chun Tian)

 - sockopt-linger and (setf sockopt-linger) now work as they should,
using
   the struct linger argument (M. Mondor)

* ASDF:

 - ASDF:MAKE-BUILD now accepts also a :PROLOGUE-CODE argument with
code to
   be executed before all lisp files are run.

 - C:BUILDER's argument :PROLOGUE-CODE can now be a lisp form. In the
case of
   standalone programs the prologue code is always executed after
cl_boot() has
   been invoked.

 - QUIT did not work from standalone executables created with neither
ASDF
   nor with C:BUILDER.
0
Reply juanjose.garciaripoll (183) 12/1/2009 9:15:55 AM

ECL 9.12.2:
===========

* Bugs fixed:

 - RANDOM broken on 64-bits architectures.

 - The debugger now shows the package names of inspected variables.

 - The code in CLX that dealt with interrupts had become outdated.

* Other changes:

 - Methods now show up in the debugger with their original name.

 - Enlarged the string buffers used for reading and parsing lisp data.

As usual, available at http://ecls.sourceforge.net
0
Reply juanjose.garciaripoll (183) 12/3/2009 4:23:27 PM


ECL 9.12.3:
===========

* Visible changes:

 - When converting rationals to floats, ECL now rounds instead of
using the
   routine in GMP, which truncates.

 - LOAD open streams in buffered mode. It does not cause any
significant
   performance increase except in broken network filesystems that lack
   buffering such as some implementations of NFS.

The previous fixes are needed to eliminate regressions and previously
existing problems with Maxima. As usual, available in

   http://ecls.sourceforge.net
0
Reply juanjose.garciaripoll (183) 12/14/2009 10:07:52 AM

2 Replies
38 Views

(page loaded in 0.1 seconds)

Similiar Articles:













7/27/2012 1:00:11 PM


Reply: