Embeddable Common Lisp: Difference between revisions
Zero Thrust (talk | contribs) mNo edit summary |
Guiseppe Attardi does not work on the project since 2000, hence is not a developer anymore |
||
Line 8: | Line 8: | ||
| family = [[Lisp (programming language)|Lisp]] |
| family = [[Lisp (programming language)|Lisp]] |
||
| designer = Giuseppe Attardi |
| designer = Giuseppe Attardi |
||
| developers = Daniel Kochmański, Marius Gerbershagen |
|||
| developer = Giuseppe Attardi |
|||
| released = {{Start date and age|1995|01|01|df=yes}} |
| released = {{Start date and age|1995|01|01|df=yes}} |
||
| latest release version = 20.4.24 |
| latest release version = 20.4.24 |
Revision as of 14:38, 28 May 2020
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 |
Stable release | 20.4.24
/ 24 April 2020 |
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 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, result in a custom compile-time C preprocessor.
External links
- Giuseppe Attardi. "The Embeddable Common Lisp", ACM Lisp Pointers 8(1), 1995, 30-41.
- Official website
- Embeddable Common-Lisp on GitLab