Skip to content

clasp-developers/clasp

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d1d345d · Dec 23, 2024
Dec 22, 2024
Nov 4, 2024
Nov 13, 2022
Dec 12, 2024
Aug 27, 2024
Dec 16, 2024
Jun 27, 2024
Jun 27, 2024
Dec 11, 2024
Dec 23, 2024
Mar 9, 2022
Dec 23, 2024
Sep 26, 2024
Aug 13, 2022
Nov 28, 2023
Nov 9, 2022
Apr 12, 2017
May 11, 2022
Aug 20, 2024
Jun 5, 2022
May 28, 2022
Aug 16, 2016
Nov 22, 2022
Nov 11, 2024
Feb 7, 2022
May 27, 2022
Aug 8, 2022
Jun 1, 2024
Nov 5, 2024
Jun 3, 2024

Repository files navigation

Clasp — Bringing Common Lisp and C++ Together

Clasp is a new Common Lisp implementation that seamlessly interoperates with C++ libraries and programs 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 it a powerful language.

For more information on using Clasp, see:

Releases

See Releases for current releases of Clasp. For more information please see the Release Notes.

Building Clasp

At the moment, Clasp is supported on Linux, Mac OS X and FreeBSD. On these systems, you should be able to build it from source and you may be able to install using a package manager. See the Wiki for more information.

In case things go wrong, the quickest way to get help is to either file an issue, or to chat with us directly.

Building takes a lot of resources. In parallel mode (:parallel-build t in config.sexp) you need more than 8 GB of RAM and it will be 1-2 hours build time. If you have 8 GB of RAM you can turn off the parallel build which will then run for a day or so. Make sure to have some paging space ("swapfile") configured.

There is also docker image here.

Common Lisp Ecosystem Support

Clasp supports the following major components:

Post on the issues or contact us if you're interested in changing that.

Contributing to Clasp

We very much welcome any kind of contribution to Clasp, even if it is just bug finding and testing. A lot can be done all around the project, if you want to dive into something large. See the Contributing file for the few guidelines we've set up around contributions.

Reporting Problems

Generally you can report problems in two fashions, either by opening a New Issue or by chatting with us directly. In both cases, though, you should have the following pieces handy in order for us to be able to help you out as quickly and painlessly as possible:

  • Your operating system name and version.
  • The branch that you're using of Clasp.
  • A paste of the build log or failure point that you reached.
  • Patience.

IRC

Clasp has an IRC channel on Libera called #clasp. If you have questions, problems, suggestions, or generally would like to just hang out with us devs, come and stop by!

More on Clasp

For more information on Clasp and the discussion around it, see the following sites:

Acknowledgments

Clasp was supported by:

  • The Defense Threat Reduction Agency (DOD-DTRA) (HDTRA1-09-1-0009)
  • The National Institutes of Health (NIH/NIGMS Grant number: 2R01GM067866-07A2)
  • The National Science Foundation (Grant number: 1300231)