ecl
Embeddable Common Lisp interpreter
TLDR
SYNOPSIS
ecl [options] [args]
DESCRIPTION
ECL (Embeddable Common Lisp) is an implementation of Common Lisp designed to be embedded in other applications. It compiles Lisp to C, enabling integration with C libraries and native code generation.ECL supports the full ANSI Common Lisp standard with extensions for threading, FFI (Foreign Function Interface), and embedding. It can produce standalone executables and shared libraries.
PARAMETERS
-load file
Load Lisp file.-eval expr
Evaluate expression.-compile file
Translate file to C and compile to a shared library (.fas).-o ofile
Name the compiled shared library output file.-c cfile
Name the intermediary C file and keep it after compilation.-h hfile
Name the intermediary C header file and keep it after compilation.-data [datafile]
Dump compiler data into datafile.-s
Produce a linkable object file instead of a shared library.-shell script
Run as script, then exit.-norc
Don't load init file (~/.eclrc).-dir directory
Use directory as system directory.-q
Reduce compiler output verbosity.
CONFIGURATION
~/.eclrc
Initialization file loaded on startup containing Lisp expressions for customization.
REPL COMMANDS
(load "file") ; Load Lisp file
(compile-file "f"); Compile to object
(require :asdf) ; Load ASDF
CAVEATS
Compiling to C adds complexity. Some libraries may need adaptation for ECL. Debugging compiled code is harder than interpreted. Threading behavior may differ from other implementations.
HISTORY
ECL was originally developed at IRCAM (Paris) in the 1980s as KCL (Kyoto Common Lisp). It was forked and developed as ECL by Giuseppe Attardi and later maintained by the community. The focus on embeddability distinguishes it from other Common Lisp implementations.
