Jump to content

Embeddable Common Lisp: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Attardi (talk | contribs)
Fixed reference.
Tag: possible conflict of interest
Attardi (talk | contribs)
m Added quotes to reference.
Line 33: Line 33:


== External links ==
== External links ==
* [http://www.di.unipi.it/~attardi/Paper/LUV94.pdf Giuseppe Attardi. The Embeddable Common Lisp, ACM Lisp Pointers 8(1), 1995, 30-41]
* Giuseppe Attari. [http://www.di.unipi.it/~attardi/Paper/LUV94.pdf "The Embeddable Common Lisp"], ACM Lisp Pointers 8(1), 1995, 30-41.
* {{Official website|common-lisp.net/project/ecl}}
* {{Official website|common-lisp.net/project/ecl}}
* [https://gitlab.com/embeddable-common-lisp/ecl Embeddable Common-Lisp] on [[GitLab]]
* [https://gitlab.com/embeddable-common-lisp/ecl Embeddable Common-Lisp] on [[GitLab]]

Revision as of 00:36, 15 October 2019

Embeddable Common Lisp
ParadigmsMulti-paradigm: procedural, functional, object-oriented, meta, reflective, generic
FamilyLisp
Designed byGiuseppe Attardi
DeveloperGiuseppe Attardi
First appeared1 January 1995; 30 years ago (1995-01-01)
Stable release
16.1.3 / 19 December 2016; 8 years ago (2016-12-19)
Typing disciplineDynamic, strong
Implementation languageC, Common Lisp
PlatformARM, x86
OSUnix-like, Android, Windows
LicenseLGPL 2.1+
Websitecommon-lisp.net/project/ecl
Influenced by
Lisp, Common Lisp, C

Embeddable Common Lisp (ECL) is a small implementation of the ANSI Common Lisp programming language that can be used stand-alone or embedded in extant applications written in C. It creates OS-native executables and libraries (i.e. Executable and Linkable Format (ELF) files on unix) from Common Lisp code, and runs on most platforms that support a C compiler. The ECL runtime is a dynamically loadable library for use by applications. It is distributed as free and open-source software under a GNU Lesser Public License (LGPL) 2.1+.

It includes a runtime system, and two compilers, a bytecode interpreter allowing applications to be deployed where no C compiler is expected, and an intermediate language type, which compiles Common Lisp to C for a more efficient runtime. The latter also features a native foreign function interface (FFI), that supports inline C as part of Common Lisp. Inline C FFI combined with Common Lisp macros, custom Lisp setf expansions and compiler-macros, yield a compile-time preprocessor.