Embeddable Common-Lisp main repository.
Find a file
Marius Gerbershagen 75877dd8f0 fpe: fix ECL_WITH_LISP_FPE macro
We can't use ecl_process_env_unsafe() == NULL to check if ECL has
booted because the return value of ecl_process_env_unsafe is
unpredictable before ECL has booted. The reason is that
ecl_process_env_unsafe calls pthread_getspecific with an uninitialized
key stored in cl_env_key. But another call to pthread_setspecific
might have already registered a key which happens to be the same as
the not yet initialized cl_env_key, yielding a non-NULL value.
2020-06-28 11:16:17 +02:00
contrib contrib: serve-event: make serve-event multithreading save 2020-06-20 16:36:32 +02:00
examples examples: add cmake example 2018-08-17 10:45:02 +02:00
msvc gc: remove unnecessary workarounds for old bdwgc versions 2020-05-10 19:47:05 +02:00
src fpe: fix ECL_WITH_LISP_FPE macro 2020-06-28 11:16:17 +02:00
.gitignore add msvc/package-locks.asd to .gitignore 2019-03-19 12:52:48 +08: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 cosmetic: add noteworthy changes to the changelog 2020-06-20 16:36:32 +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 fix a broken link in INSTALL, see #595 2020-06-17 08:24:55 +00:00
LICENSE copyright: add Marius to the maintainer list. 2019-02-22 18:43:37 +00:00
Makefile.in doc: set new doc as standard documentation 2019-01-03 19:14:28 +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.