Merge branch 'develop' into upgrade-libs

This commit is contained in:
Daniel Kochmański 2015-04-12 16:31:31 +02:00
commit 65be797cd4
3 changed files with 117 additions and 120 deletions

View file

@ -1,90 +0,0 @@
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 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
============
* Cygwin's library is still broken: fork/exec fails to reload the
cygwin library, or ECL's compiled libraries in a completely random
fashion. For this reason we recommend using ext:system instead of
ext:run-program in that platform.
* In Windows ECL comes with bytecodes compiler by default, because C
compilers are normally not avaiable. Unfortunately several
libraries out there are not prepared for this. If you plan to use
quicklisp and have a C compiler accessible to ECL, you may use
(ext:install-c-compiler) to switch back to the Lisp-to-C compiler.
15.3.7 changes since 15.2.21
============================
* autoconf scripts are rewritten to support version 2.69 stack
* direction is now correctly determined, so gcc 5.x builds should be
* broken --with-sse=yes configure flag works once again
* compilation of ECL under MSVC (2008/2010/2012) even with custom
code pages
* stable-sort now works as desired
15.2.21 changes since 13.5.1
============================
* Features coverity scan model, ffi-unload-module implementation,
probably more.
* Build system
enhancements, parallel builds, fixes, simplifications, cleanups,
maintenance. minor cleanup, maintenance.
* Numerous fixes
Changes since 12.7.1
====================
Some highlights of this release are:
* ECL now ships with the whole of the Unicode names database,
optimally compressed using constant C tables. This means ECL now
recognizes all valid Unicode (and ASCII) names for the whole range
of characters, and can print them as well.
* ECL has changed the way it stores compiled data in the C files, so
that it works around the limit of 65k characters per string.
* ECL now builds with Microsoft Visual Studio C++ 2012.
* We bend the knee and accepted WHILE/IF statements intertwined with
FOR/AS, though this is still not valid ANSI Common Lisp.
See file src/CHANGELOG or browse it online
http://ecls.cvs.sourceforge.net/viewvc/ecls/ecl/src/CHANGELOG?view=markup
;;; Local Variables: ***
;;; mode:text ***
;;; fill-column:69 ***
;;; End: ***

117
CHANGELOG Normal file
View file

@ -0,0 +1,117 @@
* 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, ARM and PowerPC processors. Porting to other
architectures should be rather easy.
* Known issues
- Cygwin's library is still broken: fork/exec fails to reload the
cygwin library, or ECL's compiled libraries in a completely random
fashion. For this reason we recommend using ext:system instead of
ext:run-program in that platform.
- In Windows ECL comes with bytecodes compiler by default, because C
compilers are normally not avaiable. Unfortunately several libraries
out there are not prepared for this. If you plan to use quicklisp
and have a C compiler accessible to ECL, you may use
(ext:install-c-compiler) to switch back to the Lisp-to-C compiler.
* Pending changes since 15.3.7
** Issues fixed:
- Various fixes of bogus declarations.
- Remove deprecated GC calls.
- ROTATEF, SHIFTF, PSETF reworked to conform ANSI standard. Places
were handled improperly in regard of multiple values.
** Enchantments:
- Update libffi to version 3.2.1.
- Update asdf to version 3.1.4.
* 15.3.7 changes since 15.2.21
** Issues fixed:
- DEFUN functions not defined as toplevel forms were also directly
referenced other code in the same file.
- STABLE-SORT works as desired (bogus optimization for strings
fixed).
- broken --with-sse=yes configure flag works once again.
** Enchantments
- autoconf scripts are rewritten to support version 2.69 stack.
- direction is now correctly determined, fixing gcc 5.x builds.
- compilation of ECL under MSVC (2008/2010/2012) even with custom
code pages.
- In compiled code it is possible to declare variables to have a C
type such as in (declare (:double a)) and then the variable is
enforced to be unboxed to such type.
- New form EXT:C-PROGN used to interleave C statements with lisp
code, where the lisp code may refer to any number of
variables. Example:
#+BEGIN_SRC lisp
(lambda (i)
(let* ((limit i)
(iterator 0))
(declare (:int limit iterator))
(ffi:c-progn (limit iterator)
"for (#1 = 0; #1 < #0; #1++) {"
(print iterator)
"}")))
#+END_SRC
* 15.2.21 changes since 13.5.1
- Features coverity scan model, ffi-unload-module implementation,
probably more.
- Build system enhancements, parallel builds, fixes,
simplifications, cleanups, maintenance. minor cleanup,
maintenance.
- Numerous fixes.
* Changes since 12.7.1
Some highlights of this release are:
- ECL now ships with the whole of the Unicode names database,
optimally compressed using constant C tables. This means ECL now
recognizes all valid Unicode (and ASCII) names for the whole range
of characters, and can print them as well.
- ECL has changed the way it stores compiled data in the C files, so
that it works around the limit of 65k characters per string.
- ECL now builds with Microsoft Visual Studio C++ 2012.
- We bend the knee and accepted WHILE/IF statements intertwined with
FOR/AS, though this is still not valid ANSI Common Lisp.
* Settings
;;; Local Variables: ***
;;; mode:org ***
;;; fill-column:75 ***
;;; End: ***

View file

@ -1,30 +0,0 @@
ECL 13.7.1
==========
* Errors fixed:
- DEFUN functions not defined as toplevel forms were also directly referenced
other code in the same file.
* Extensions:
- In compiled code it is possible to declare variables to have a C type
such as in (declare (:double a)) and then the variable is enforced to
be unboxed to such type.
- New form EXT:C-PROGN used to interleave C statements with lisp code, where
the lisp code may refer to any number of variables. Example:
(lambda (i)
(let* ((limit i)
(iterator 0))
(declare (:int limit iterator))
(ffi:c-progn (limit iterator)
"for (#1 = 0; #1 < #0; #1++) {"
(print iterator)
"}")))
;;; Local Variables: ***
;;; mode:text ***
;;; fill-column:79 ***
;;; End: ***