mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-17 14:51:20 -08:00
Merge branch 'develop' into upgrade-libs
This commit is contained in:
commit
65be797cd4
3 changed files with 117 additions and 120 deletions
90
ANNOUNCEMENT
90
ANNOUNCEMENT
|
|
@ -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
117
CHANGELOG
Normal 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: ***
|
||||
|
|
@ -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: ***
|
||||
Loading…
Add table
Add a link
Reference in a new issue