Clasp: Even Common Lisp Is Coming To LLVM
The latest open-source project devising an LLVM back-end is a Common Lisp implementation.
For anyone routinely coding in Common Lisp, the CLASP project is the new LLVM-based compiler initiative. Clasp provides a super-set of Common Lisp that interoperates smoothly with C++. One of the big focuses of Clasp is for integration between CL and C++.
Why is this being done? According to the lead developer, "Common Lisp is considered by many to be one of the most expressive programming languages in existence. Individuals and small teams of programmers have created fantastic applications and operating systems within Common Lisp that require much larger effort when written in other languages. Common Lisp has many language features that have not yet made it into the C++ standard. Common Lisp has first-class functions, dynamic variables, true macros for meta-programming, generic functions, multiple return values, first-class symbols, exact arithmetic, conditions and restarts, optional type declarations, a programmable reader, a programmable printer and a configurable compiler. Common Lisp is the ultimate programmable programming language."
Clasp in its current state is considered to be in a "very alpha" state. Clasp while tagetting Common Lisp is written in C++ and has a built-in JIT compiler. This compiler is currently building on OS X and Linux. The developer already has plans for a faster version of Clasp coming soon that should offer significantly better performance over other Common Lisp compilers.
You can read Christian Schafmeister's Clasp announcement on his blog and find the code on GitHub. You can also find other LLVM news over the past week via the LLVM Weekly #39.
For anyone routinely coding in Common Lisp, the CLASP project is the new LLVM-based compiler initiative. Clasp provides a super-set of Common Lisp that interoperates smoothly with C++. One of the big focuses of Clasp is for integration between CL and C++.
Why is this being done? According to the lead developer, "Common Lisp is considered by many to be one of the most expressive programming languages in existence. Individuals and small teams of programmers have created fantastic applications and operating systems within Common Lisp that require much larger effort when written in other languages. Common Lisp has many language features that have not yet made it into the C++ standard. Common Lisp has first-class functions, dynamic variables, true macros for meta-programming, generic functions, multiple return values, first-class symbols, exact arithmetic, conditions and restarts, optional type declarations, a programmable reader, a programmable printer and a configurable compiler. Common Lisp is the ultimate programmable programming language."
Clasp in its current state is considered to be in a "very alpha" state. Clasp while tagetting Common Lisp is written in C++ and has a built-in JIT compiler. This compiler is currently building on OS X and Linux. The developer already has plans for a faster version of Clasp coming soon that should offer significantly better performance over other Common Lisp compilers.
You can read Christian Schafmeister's Clasp announcement on his blog and find the code on GitHub. You can also find other LLVM news over the past week via the LLVM Weekly #39.
6 Comments