Announcing Clasp 0.4 – a new release that incorporates a brand new compiler – capable of generating 200x faster code than previously, many bug fixes, a more complete Common Lisp implementation, and C++ interoperation.
- Clasp has a completely new, optimizing/inlining compiler called cclasp!
- Fixnum, character and single-float types are immediate values.
- General object pointers and cons pointers are tagged for speed.
- Clbind library allows programmers to expose external C++ libraries.
- Lots of bug fixes and stability improvements.
What is Clasp?
Clasp is a new Common Lisp implementation that seamlessly interoperates with C++ libraries using LLVM for compilation to native code. This allows Clasp to take advantage of a vast array of preexisting libraries and programs, such as out of the scientific computing ecosystem. Embedding them in a Common Lisp environment allows you to make use of rapid prototyping, incremental development, and other capabilities that make Common Lisp such a powerful language.
Precompiled and prepackaged versions of Clasp will be available for a limited number of distributions. Check the releases to see if there is something available for you.
At the moment, Clasp is supported on Linux and Mac OS X. On these systems, you should be able to build it from source if a pre-made package is not available or workable for you. In case you cannot get it to compile even with the instructions below, the quickest way to get help is to either file an issue, or to chat with us directly.
Building on most systems will take around 4GB of RAM and 2-4 hours with a relatively modern processor.
Acknowledgements (#clasp IRC channel nicknames)
Robert Strandh (beach) – the Cleavir compiler and guidance.
Shinmera – build testing and organization.
stassats – guidance, bug finding and speeding up the compiler.
flash- – feedback and debugging of the clbind library.
SAL9000 – designing list iterator and feedback on ASTMatcher library.
faheem – guidance in setting up the build system.