Embeddable Common Lisp: Difference between revisions
Update release information |
|||
(38 intermediate revisions by 24 users not shown) | |||
Line 1: | Line 1: | ||
{{No sources|date=July 2019}} |
|||
{{ Infobox Software |
|||
⚫ | |||
| name |
| name = Embeddable Common Lisp |
||
| logo = |
|||
| logo = |
|||
| screenshot |
| screenshot = |
||
| caption = |
|||
| paradigms = [[Multi-paradigm programming language|Multi-paradigm]]: [[Procedural programming|procedural]], [[Functional programming|functional]], [[Object-oriented programming|object-oriented]], [[Metaprogramming|meta]], [[Reflective programming|reflective]], [[Generic programming|generic]] |
|||
| developer = Juanjo Garcia-Ripoll |
|||
| family = [[Lisp (programming language)|Lisp]] |
|||
| latest release version = 11.1.1 |
|||
| designer = Giuseppe Attardi |
|||
⚫ | |||
| developers = Daniel Kochmański, Marius Gerbershagen |
|||
| released = {{Start date and age|1995|01|01|df=yes}} |
|||
| latest release version = {{wikidata|property|preferred|references|edit|P348}} |
|||
⚫ | |||
| latest preview version = |
| latest preview version = |
||
| latest preview date |
| latest preview date = |
||
| typing = [[Type system#DYNAMIC|Dynamic]], [[Strong and weak typing|strong]] |
|||
⚫ | |||
| scope = |
|||
⚫ | |||
| programming language = [[C (programming language)|C]], [[Common Lisp]] |
|||
| genre = [[Compiler]] and [[Run-time system|runtime]] |
|||
| platform = [[ARM architecture|ARM]], [[x86]] |
|||
⚫ | |||
⚫ | |||
| website = http://ecls.sourceforge.net/ |
|||
⚫ | |||
| file ext = |
|||
| file format = <!-- or: | file formats = --> |
|||
| website = {{URL|https://ecl.common-lisp.dev}} |
|||
| implementations = |
|||
| dialects = |
|||
| influenced by = [[Lisp (programming language)|Lisp]], [[Common Lisp]], [[C (programming language)|C]] |
|||
| influenced = |
|||
}} |
}} |
||
'''Embeddable Common Lisp (ECL |
'''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 (programming language)|C]]. It creates OS-native [[executable]]s 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 [[compiler]]s, a [[bytecode]] interpreter allowing applications to be deployed where no C compiler is expected, and an [[Intermediate representation#Intermediate language|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 <code>setf</code> expansions and compiler-macros, result in a custom compile-time C [[preprocessor]]. |
|||
==References== |
|||
{{reflist}} |
|||
== External links == |
== External links == |
||
* Giuseppe Attardi. [http://www.di.unipi.it/~attardi/Paper/LUV94.pdf "The Embeddable Common Lisp"], ACM Lisp Pointers 8(1), 1995, 30-41. |
|||
* [http://ecls.sourceforge.net/ ECL Home Page] |
|||
* {{Official website|https://ecl.common-lisp.dev}} |
|||
* [https://gitlab.com/embeddable-common-lisp/ecl Embeddable Common-Lisp] on [[GitLab]] |
|||
{{Common Lisp}} |
|||
[[Category:Common Lisp implementations]] |
[[Category:Common Lisp implementations]] |
||
[[Category:Common Lisp software]] |
[[Category:Common Lisp (programming language) software]] |
||
[[Category:Free |
[[Category:Free and open source compilers]] |
||
[[ru:Embeddable Common Lisp]] |
Latest revision as of 23:23, 30 October 2024
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 | 23.9.9[1]
/ 9 September 2023 |
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.
References
[edit]External links
[edit]- Giuseppe Attardi. "The Embeddable Common Lisp", ACM Lisp Pointers 8(1), 1995, 30-41.
- Official website
- Embeddable Common-Lisp on GitLab