ECL (Embeddable Common-Lisp) is an interpreter of the Common-Lisp language as it was described in the X3J13 Ansi specification, featuring CLOS (Common-Lisp Object System), conditions, loops, etc, plus a translator to C, which can produce standalone executables.
Here are some key features of "Embeddable Common-Lisp":
· A bytecodes compiler and interpreter.
· Compiles Lisp also with any C/C++ compiler.
· It can build standalone executables and libraries.
· ASDF, Sockets, Gray streams, MOP, and other useful components.
· Extremely portable.
· A reasonable license.
What's New in This Release: [ read full changelog ]
Visible changes:
· ECL now reports #+UNIX for all compatible systems, including *BSD ones.
Compiler fixes:
· Minor readability improvements in the C code.
· MULTIPLE-VALUE-BIND compiles using MULTIPLE-VALUE-SETQ and now both are
· better optimized, generating simpler C code.
· The type checking routine for LOGAND was producing spurious warnings.
· (LDB (BYTE ...) ...) no longer conses a BYTE object.
· Added optimizations for MASK-FIELD, DPB, DEPOSIT-FIELD, LDB-TEST and LDB.
· CONSTANT-VALUE-P and friends now use the (compiler) environment.
· No optional type check generated for constant values.
· Declare the temporary variables in DEFMACRO/DESTRUCTURING-BIND as IGNORABLE
· ECL now accepts WHILE/IF before FOR/AS, a construct that is not ANSI
· An example: (LOOP FOR I IN LIST WHILE (SOME-TEST I) FOR X = (F I) ... )
Common Lisp fixes:
· CONSTANTP now performs a bit more work, macroexpanding forms.
· ENSURE-DIRECTORIES-EXIST ignores the host and device from the original
· pathname when creating the directories.
· In ...