Embeddable Common-Lisp main repository.
Find a file
Daniel Kochmański 9735057bc3 stacks: don't call si_set_finalizer
si_set_finalizer is CL-world function and returns 0 values. That means
in particular, that env->nvalues is changed.

In this situation, when new binding was introduced, we could lose our
nvalues, what lead to invalid multiple-value-bind (next commit will
contain a regression test).

We use unprotected version. If interrupts cause problems with it, we
may need to wrap it in disable_interrupts. Threading code uses
ecl_set_finalizer_unprotected without such wrapping though, so I
believe that should be safe.

Fixes #233.
2017-07-02 22:35:37 +02:00
contrib cdb: fix declaration 2017-04-28 11:13:24 +02:00
doc doc: fix typo 2017-06-12 13:18:51 +08:00
examples update ecldoc for new example of asdf 2017-03-15 22:37:32 -04:00
msvc windows build system clean/tidy up 2017-06-05 12:53:11 +08:00
src stacks: don't call si_set_finalizer 2017-07-02 22:35:37 +02:00
.gitignore cosmetic: improve gitignore 2017-03-17 08:11:49 +01:00
.gitlab-ci.yml Add .gitlab-ci.yml 2017-01-11 18:30:33 +00:00
appveyor.yml Add simple appveyor msvc build 2017-05-13 00:12:13 +02:00
CHANGELOG changelog: add fresh changes 2017-05-02 15:04:54 +02:00
configure Preserve quoting when passing the arguments to the build directory 2008-08-27 09:50:44 +02:00
COPYING cosmetic: rename LGPL->COPYING 2016-10-08 14:24:31 +02:00
INSTALL update INSTALL for Android 2016-12-12 08:02:21 +01:00
LICENSE cleanup: purge clx 2016-09-07 14:58:50 +02:00
Makefile.in buildsystem: be explicit about datarootdir 2016-12-10 08:50:06 +01:00
README.md update readme (typos) 2015-08-31 08:22:52 +00:00

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 Lisp code and can itself be linked to your programs as a shared library. It also features an interpreter for situations when a C compiler isn't available.

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