Embeddable Common Lisp
Paradigms | Multi-paradigm: procedural, functional, object-oriented, meta, reflective, generic |
---|---|
Family | Lisp |
Designed by | Daniel Kochmański |
Developer | Daniel Kochmański |
First appeared | 1 January 2005 |
Stable release | 16.1.3
/ 19 December 2016 |
Typing discipline | Dynamic, strong |
Implementation language | C, Common Lisp |
Platform | ARM, x86 |
OS | Unix-like, Android, Windows |
License | LGPL 2.1+ |
Website | common-lisp |
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 latter, 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.