A Common Lisp implementation that compiles to native code via LLVM and seamlessly interoperates with C++ libraries.
Clasp is a Common Lisp implementation that uses LLVM to compile to native code and is designed for seamless interoperability with C++ libraries and programs. It bridges the Common Lisp and C++ ecosystems, enabling developers to leverage existing C++ code—particularly from scientific computing—while benefiting from Common Lisp's rapid prototyping and incremental development capabilities.
Developers working in scientific computing, systems programming, or fields requiring high-performance C++ libraries who want to use Common Lisp for its interactive development and expressiveness. It is also suitable for Common Lisp programmers seeking to integrate with or extend large C++ codebases.
Clasp uniquely combines the performance and extensive library ecosystem of C++ with the dynamic, interactive development environment of Common Lisp, offering a tool that excels in scenarios where both high-performance computing and rapid prototyping are needed. Its LLVM-based compilation ensures native code performance while maintaining full compatibility with Common Lisp tools and ecosystems.
clasp Common Lisp environment
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables direct integration with C++ libraries, particularly from scientific computing, allowing access to extensive codebases without rewriting, as emphasized in the README's focus on bridging ecosystems.
Uses LLVM to compile to native code, ensuring high performance and low-level control, which is ideal for systems and scientific programming where efficiency is key.
Supports essential Lisp tools like SLIME, ASDF, Quicklisp, and CFFI, maintaining compatibility with existing workflows and ecosystem packages.
Provides a Docker image for easy environment management and deployment, reducing configuration overhead for containerized applications, as mentioned in the README.
Building Clasp requires significant resources, with parallel builds needing over 8GB of RAM and taking 1-2 hours, or a day without parallelism, making initial setup challenging on less powerful machines.
Only supports Linux, macOS, and FreeBSD, excluding Windows and other platforms, which restricts its usability for cross-platform projects targeting a wider audience.
The emphasis on C++ interoperability adds setup complexity, requiring expertise in both Lisp and C++ toolchains, and may result in a smaller community and fewer third-party resources compared to mainstream implementations.