macOS
brew install ecllocal Homebrew formula metadata
sudo port install eclMacPorts ports tree · lang/ecl/Portfile · source: api.github.com
brew
Embeddable Common Lisp. Version 26.5.5 via Homebrew; verified 2026-07-07.
install
brew install ecllocal Homebrew formula metadata
sudo port install eclMacPorts ports tree · lang/ecl/Portfile · source: api.github.com
sudo apk add eclAlpine Linux edge package indexes · ecl · source: dl-cdn.alpinelinux.org
sudo apt install eclDebian stable package indexes · ecl · source: deb.debian.org
nix profile install nixpkgs#eclnixpkgs package indexes · ecl · source: raw.githubusercontent.com
sudo pacman -S eclArch Linux sync databases · ecl · source: geo.mirror.pkgbuild.com
sudo zypper install eclopenSUSE Tumbleweed package metadata · ecl · source: download.opensuse.org
overview
Embeddable Common Lisp
history
ECL, Embeddable Common Lisp, is a Common Lisp implementation designed around a Lisp-to-C compiler, standard C calling conventions, and use as a linkable runtime inside other programs. Its package-manager identity is not just another Common Lisp executable: it is the Common Lisp implementation people install when embeddability, C interoperability, portability, and small runtime composition matter.
The ECL manual traces the project through the Kyoto Common Lisp family. KCL was developed in 1984 at Kyoto University's Research Institute for Mathematical Sciences by Taiichi Yuasa and Masami Hagiya, with an implementation partly in C and partly in Common Lisp and a Lisp-to-C translator. Later descendants included Ibuki Common Lisp, DELPHI Common Lisp, Austin Kyoto Common-Lisp, GNU Common Lisp, and HCL.
Giuseppe Attardi began the ECL line after leaving DELPHI in 1994 and returning to the University of Pisa. The manual explains the name as both Embeddable Common Lisp and ECoLisp, tied to the goal of integrating Lisp code with other languages at a time when Lisp programmers were becoming less common.
Juan Jose Garcia-Ripoll later started the ECLS or ECL-Spain effort from the ECoLisp sources. Its immediate goals were practical package-nerd goals: portability, 64-bit cleanliness, bootstrapping without another Lisp implementation, and restoring the ability to link ECL with C programs. That fork eventually became the continuing community ECL project.
After another maintenance gap beginning in 2013, Daniel Kochmanski took over maintenance in 2015 with Garcia-Ripoll's consent, and Marius Gerbershagen became co-maintainer in 2020. Current development, according to the manual, focuses on ANSI compliance, compatibility with the Common Lisp library ecosystem, bug fixing, speed, and portability.
ECL's adoption has been tied to portability and embedding rather than to a single flagship application. Its manual emphasizes C interoperability, modular runtime construction, native CLOS support, bytecode fallback for systems without a C compiler, and ANSI Common Lisp compliance, which explains its presence across Unix-like package managers.
The Homebrew, Debian, Ubuntu, Alpine, Arch, Nix, MacPorts, and openSUSE package names in the batch input reflect the same pattern: ECL is a standard packaged Common Lisp implementation rather than an application-specific one-off. Its upstream GitLab tags show active releases through 2026, including 26.5.5.
Users typically install ECL to run an interactive Common Lisp environment, compile Lisp systems, or embed Lisp into a C or C++ application. The `ecl` executable provides the runtime and REPL, while `ecl-config` exposes compiler and linker flags for programs that build against ECL.
The manual's key usage distinction is that compiled Lisp functions follow standard C calling conventions, letting C and Lisp call each other without a separate foreign-function layer. That makes ECL especially relevant for applications that want Common Lisp as an extension language or as a compiled library component.
ECL matters to package maintainers because it is both a compiler toolchain and a library runtime. Packaging it means caring about C compilers, runtime modules, dynamic loading, threads, binary images, and ABI-facing configuration through `ecl-config`, not just shipping a single REPL binary.
Its lineage also makes it historically interesting: a modern package-manager formula connects directly back to the KCL family of Lisp-to-C systems, while still tracking contemporary Common Lisp library compatibility and portability work.
security posture
No matching local secret-handling manifest was found for ecl. Nucleus package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
ecl | cli | global executable | |
ecl-config | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:ecl |
|---|---|
| Version | 26.5.5 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/ecl |
| Homepage | https://ecl.common-lisp.dev |
| Repository | https://gitlab.com/embeddable-common-lisp/ecl |
| Upstream docs | https://ecl.common-lisp.dev/static/manual |
| License | LGPL-2.1-or-later |
| Source archive | https://ecl.common-lisp.dev/static/files/release/ecl-26.5.5.tgz |
| Last updated | 2026-07-07T07:58:27Z |
| Pulse | updated |
| Dependencies | bdw-gc, gmp |
| Build dependencies | texinfo |
| Uses from macOS | libffi |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | ecl |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
ecl 24.5.10+ds-1+b1
Embeddable Common-Lisp: has an interpreter and can compile to C
https://common-lisp.net/project/ecl/
sudo apt install ecllibecl-dev 24.5.10+ds-1+b1
Embeddable Common-Lisp: development files
https://common-lisp.net/project/ecl/
sudo apt install libecl-devlibecl24.5t64 24.5.10+ds-1+b1
Embeddable Common-Lisp: shared library
https://common-lisp.net/project/ecl/
sudo apt install libecl24.5t64ecl
nix profile install nixpkgs#eclecl 21.2.1+ds-4.1ubuntu2
Embeddable Common-Lisp: has an interpreter and can compile to C
https://common-lisp.net/project/ecl/
sudo apt install ecllibecl-dev 21.2.1+ds-4.1ubuntu2
Embeddable Common-Lisp: development files
https://common-lisp.net/project/ecl/
sudo apt install libecl-devlibecl21.2t64 21.2.1+ds-4.1ubuntu2
Embeddable Common-Lisp: shared library
https://common-lisp.net/project/ecl/
sudo apt install libecl21.2t64ecl 24.5.10-r2
Embeddable Common Lisp
sudo apk add eclecl-dev 24.5.10-r2
Embeddable Common Lisp (development files)
sudo apk add ecl-devecl-doc 24.5.10-r2
Embeddable Common Lisp (documentation)
sudo apk add ecl-docecl 26.5.5-1
Embeddable Common Lisp
https://common-lisp.net/project/ecl/
sudo pacman -S eclecl 26.3.27-1.3
Embeddable Common-Lisp
https://common-lisp.net/project/ecl/
sudo zypper install eclecl-devel 26.3.27-1.3
Embeddable Common-Lisp -- development files
https://common-lisp.net/project/ecl/
sudo zypper install ecl-devellibecl26_3 26.3.27-1.3
Embeddable Common-Lisp -- shared library
https://common-lisp.net/project/ecl/
sudo zypper install libecl26_3ecl
sudo port install eclsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.