Embeddable Common Lisp
This article does not cite any external source. HandWiki requires at least one external source. See citing external sources. (July 2019) (Learn how and when to remove this template message) |
Paradigms | Multi-paradigm: procedural, functional, object-oriented, meta, reflective, generic |
---|---|
Family | Lisp |
Designed by | Giuseppe Attardi |
Developers | Daniel Kochmański, Marius Gerbershagen |
First appeared | 1 January 1995 |
Typing discipline | Dynamic, strong |
Implementation language | C, Common Lisp |
Platform | ARM, x86 |
OS | Unix-like, Android, Windows |
License | LGPL 2.1+ |
Website | 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 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, result in a custom compile-time C preprocessor.
External links
- Giuseppe Attardi. "The Embeddable Common Lisp", ACM Lisp Pointers 8(1), 1995, 30-41.
- Embeddable Common-Lisp on GitLab
Original source: https://en.wikipedia.org/wiki/Embeddable Common Lisp.
Read more |