HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
clasp-developers
clasp
Common Lisp2015–2025
clasp-developers / clasp

clasp

clasp Common Lisp environment

48Distinct people
95Mentions
1Explicit recommenders
2.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

clasp Common Lisp environment

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

The GDB JIT interface implementation is seriously flawed. I love GDB - but this causes me a LOT of grief when debugging clasp (Common Lisp implemented using llvm as the backend…

drmeister used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year95 dated mentions

Observed mentions: 2015-02-21 13:20:00 UTC to 2025-07-09 22:57:28 UTC.

051015202015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 11 mentions; 2 submissions, 9 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 12 mentions; 0 submissions, 12 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 12 mentions; 2 submissions, 10 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 18 mentions; 8 submissions, 10 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC1129
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC808
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC10010
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC909
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC12012
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC12210
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC18810
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC413
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC404
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC303

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
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: Clasp Manual clbind Documentation 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 do not 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: SLIME ASDF Quicklisp CFFI Bordeaux-Threads Unicode 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: Christian Schafmeister's blog Hackernews Reddit Google Tech Talks ELS2016 Lessons Learned Implementing Common Lisp with LLVM 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)
Read the full README on GitHub

What Hacker News says

95 sources
General purpose languages in 2024? Something on the JVM (I prefer Clojure), Rust, JavaScript (typically through Typescript), Erlang and Go. If you had asked me a decade ago I would've said C# in place of the JVM, C/C++ in place of Rust and Python in place of Go. I think it would be perfectly reasonable to put C#, Python or even PHP on your top 5. I don't because I think they've been "outpaced" in usefulness by the JVM and Go. I know Go is a controversial opinion as Go is in many ways inferior to both C# and Python. The reason I place it higher is because I really dig some of the philosophies it comes with. I much prefer to work on code with explicit error handling and no cyclical package imports. This along with the focus on simplicity and how much you can do with just the standard library makes it very easy to write understandable (no ma
Read the rest
gic) and maintainable code. It's one of the few languages where I can open a code file and immediately know what's going on almost regardless of who wrote it. With that said, Clojure is my personal top language and I really hope I'll get time to pick up the "JavaScript" side of it so I can do all my Typescript work within Clojure. Haskell is too rigid for me and both it and Common Lisp doesn't come with the ability to tap into the JVM (which can be both a blessing and a curse). To be fair Lisp has Clasp which is much more powerful for some uses. I don't think you can ever really avoid C/C++ (Rust for safety) or Erlang in certain parts of our industry and I'm not sure they'll get real competition. Maybe if Zig manages to pick up a cult following like Rust has? The reason the JVM and it's languages rank so highly for me is in part because of its popularity. This may not be a good metric but I personally think real world application is a key factor for general purpose languages. Coupled with it's massive leap forward with it's recent updates it is simply a great platform in 2024. https://github.com/clasp-developers/clasp
In Where are programming languages created? A zoomable map
> And you could always make them opt-in instead of opt-out. > The only danger is that some pedant comes along and says that with these assumptions what you're now writing isn't "portable C" and relies on compiler-defined behavior, but in the real world if it does the correct thing I don't think anyone would care: just call your dialect "boringC" instead of C99 or something (borrowing Gavin Howard's term), and the issue disappears. My idea is to make a new language with some simple syntax like S-expressions. Compilation would be (almost entirely) done with lisp-like macros, but unlike lisp it would be an imperative language rather than a functional language. The main data structure would have to be a hierarchy (analogous to CONS) to facilitate these macros. Optimizations (and Specializations) would be opt-in and would depend on the intrins
Read the rest
ics and macros you allow in compilation. For example, you could start writing code with this default data structure, and later swap it out for some more specific data structure like a linked list or a hashtable. The most daunting problem is the issue of how the compiler selects what optimization or specializations to use; Optimizing for something like code size is straightforward, but optimizing for code speed will depend on what branches are taken at runtime. Now I suppose that the language should simply allow the programmer to manually express their preferences (which could be discovered through benchmarks/code studies). I think that this could have a niche for manually-optimized code that requires strict static analysis and straight-forward compilation. It also could have a niche in decompilation/recompilation/reverse-engineering (I think that a similar process can run in reverse to disassemble even obfuscated code, because you could easily write a macro to reverse an ad-hoc obfuscation mechanism). Here is another application of the language: By controlling the macros and intrinsics available at compilation, you could ensure compile-time security of userspace programs. For example, you could have a setup such that speculative execution vulnerabilities and the like are impossible to compile. I think you could safely enforce cooperative multitasking between programs. I'll probably start with a simple assembly language like WASM, then LLVM-IR. Eventually it would have JS/C/Rust bindings to interoperate with normal libraries. Lastly, I would like to make it so you can write routines that are portable between CPUs, GPUs, and even FPGAs, but this would be very difficult and this functionality may better realized with a functional language (e.g. CLASP https://github.com/clasp-developers/clasp) or may require programmers to work at an uncomfortably high level of abstraction.
In Clang vs. Clang
> Chez and Gambit. Speed competitive with C/C++/Fortran. That's rather unlikely given that SBCL (known to be one of the fastest CL implementation) is about five times slower in the CLBG benchmarks. Also the author found that Chez is in the "same ballpark as SBCL Common Lisp" and "Gambit performs similarly". I think for scientific computing, Clasp (see https://github.com/clasp-developers/clasp) is an interesting candidate since it makes a huge number of high-performance scientific libraries accessible to Lisp.
In Scheme for Scientific Computing (2018)
It's a great article. Since 2018 though, we have more tools and resources so we can enhance it. (I copy/edit a comment of mine from last thread) ## Pick and Editor The article is right that you can start with anything. Just `load` your .lisp file in the REPL. But even in Vim, Sublime Text, Atom/Pulsar, VSCode, the Jetbrains suite or Jupyter notebooks, you can get pretty good to very good support. See https://lispcookbook.github.io/cl-cookbook/editor-support.ht... > if anyone is interested in making a Common Lisp LSP language server, I think it would be a hugely useful contribution to the community. Here's a new project used for VSCode: https://github.com/nobody-famous/alive-lsp There's also https://github.com/cxxxr/cl-lsp ## Libraries He doesn't mention this list, what a shame: https://github.com/CodyReichert/awesome-cl => the CL ecosyste
Read the rest
m is probably bigger than you thought. Sincerely, only recently, great packages appeared: CLOG, sento (actors concurrency), 40ants-doc, official CL support on OVH through Platform.sh, great editor add-ons (Slite test runner, Slime-star modules…), Coalton 1.0 (Haskell-like ML on top of CL), April v1.0 (APL in CL), a Qt 5 "library" (still hard to install), many more… (Clingon CLI args parser, Lish, a Lisp Shell in the making, the Consfigurator deployment service, generic-cl)… His list is OK, I'd pick another HTTP client (Dexador instead of Drakma) and another JSON library (jzon or shasht), new ones since 2018 too, but that's a detail. BTW, see also a list of companies: https://github.com/azzamsa/awesome-lisp-companies/ (nothing official, we add when we find one) ## Other resources The Cookbook (to which I contribute) is a useful reference to see code and get things done, quickly. https://lispcookbook.github.io/cl-cookbook/ While I'm at it, my last shameless plug: after my tutorials written for the Cookbook and my blog, I wanted to do more. Explain, structure, demo real-world Common Lisp. I'm creating this course (there are some free videos): https://www.udemy.com/course/common-lisp-programming/?coupon... You'll learn CL efficiently and support an active Lisper. ## Web Development See the Cookbook, and the awesome list. We have many libraries, you still have to code for things taken for granted in other big frameworks. I have some articles on my blog. I have a working Django-like DB admin dashboard, I have to finish the remaining 20%… We have new very cool kids in town, especially CLOG, that is like a GUI for the browser. Check it out: https://github.com/rabbibotton/clog ## Game Development See again the awesome-cl list. And the Kandria game, published on Steam, all done in CL: https://kandria.com/ ## Unit Testing We have even more test frameworks since 2018! And some are actually good O_o ## Projects To create a full-featured CL project in one command, look no further, here's my (shameless plug) project skeleton: https://github.com/vindarel/cl-cookieproject you'll find the equivalent for a web project, lighter alternatives in the README, and a demo video: https://www.youtube.com/watch?v=XFc513MJjos&feature=youtu.be ## Community We are also on Discord: https://discord.gg/hhk46CE and on Libera Chat. ## Implementations CLASP (CL for C++ on LLVM) reached its v1.0, congrats. https://github.com/clasp-developers/clasp/releases/tag/1.0.0 More are in the making… We got dynamic library delivery tool for SBCL (sbcl-librarian). There's a rumor from the European Lisp Symposium that a feature beginning in "co" and lasting in "routine" is coming to SBCL. Allegro CL (proprietary) got a new version running in the browser… Crazy Lisp world <3
In A Road to Common Lisp (2018)
Ah - thank you. "True sharing" makes way more sense to describe the situation. The general problem with locks I've seen again and again - and maybe CAS doesn't improve it, but I thought it did. It is challenging to profile this stuff carefully. I've been disappointed many times by my attempts at multithreaded programming when locks are involved. I've implemented a multithreaded Common Lisp programming environment (https://github.com/clasp-developers/clasp.git) that interoperates with C++. Two locks that cause me massive headaches are (1) in the unwinder when we do a lot of stack unwinding in multiple threads and (2) in the memory manager when we do a lot of memory allocation in multiple threads. Parallel code runs multiple times slower than serial code. In another situation where we do parallel non-linear optimization without alloca
Read the rest
ting memory, we can get 20 CPU working in parallel with no problems.
In Recursive (Re-Entrant) Locks (2013)
Putting on my architect's hat--what is it the customer really wanting to do? So.. "Why do you want to make Lisp more popular? If you were sucessful, what would be different in the world, and why is that desirable to you?" Normally at this point I'd listen to the response, and ask more questions based on that. That would wind up with a very, very deep thread, so I'll break a cardinal rule and pre-guess at some answers. This kind of question comes up pretty frequently. In many cases, I suspect the motivation behind the question is "Wow! Here's this cool tool I've discovered. I want to make something really useful with it. I want to do it as part of a community effort; share my excitement with others, share in their excitement, and know that what I'm making is useful because others find it desirable and are excited by it." The field could be
Read the rest
cooking, sports, old machine tools, tiny homes, or demo scene. Its the fundemental driver for most content on HN, YouTube, Instructables, and such. It is a Good Thing. If that is your motivator, then my suggestion is to find something that bugs you and fix it. You've already decided you're only interested in code, not other aspects. You said you preferred vim, but the emacs ecosystem has a very rich set of sharp edges that need filing off, and a rich set of tools with which to attack them. One example: even after 50 years there's no open IDE which allows you to easily globally rename a Lisp identifier. I don't know about LispWorks or other proprietary environments, but you can't in emacs or vim do a right-click on "foo" in "(defun foo ()...)" and select a command which automatically renames it in all invocations. [Queue lots of "but you can..." replies here.] I don't think vim is up to the task of doing this internally. It would be possible in emacs; but would require a huge effort with lots of help from other people. If you emerged alive from that rabbit warren you'd join the company of Certified "How Hard Could it Be?" Mad Scientists such as Dr. "I just want to draw molecules" Meister [1] and "Wouldn't an OS in Lisp be Cool" Froggey [2]. [1] https://github.com/clasp-developers/clasp [2] Mezzano https://github.com/froggey/Mezzano
In What help is needed for Lisp community in order to make Lisp more popular?

Showing the 15 most recent of 95 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.