Jump to content

Embeddable Common Lisp

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Jerryobject (talk | contribs) at 03:53, 18 March 2017 (Template:Infobox programming language conform to master: cut needless spaces. Carriage return add between infobox lines.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Embeddable Common Lisp
ParadigmsMulti-paradigm: procedural, functional, object-oriented, meta, reflective, generic
FamilyLisp
Designed byDaniel Kochmański
DeveloperDaniel Kochmański
First appeared1 January 2005; 20 years ago (2005-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 programming language, an implementation of Common Lisp, which is a small Lisp system that can be embedded in extant applications written in the language C. It can create stand-alone Executable and Linkable Format (ELF) executable files from Common Lisp code, and runs on most platforms that support a C compiler. 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 type, and an intermediate language type, which compiles Common Lisp to C. Due to the later, it also features a foreign function interface (FFI), including support for inline C to be used or generated from Common Lisp. Inline C FFI combined with Common Lisp macros, and custom Lisp setf expansions, yield a compile-time preprocessor.