InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more →
Top 21 C Lisp Projects
-
Project mention: Show HN: Jwno – Bring Modern Lisp Power to Your Windows Desktop | news.ycombinator.com | 2025-05-06
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
tinylisp
Lisp in 99 lines of C and how to write one yourself. Includes 20 Lisp primitives, garbage collection and REPL. Includes tail-call optimized versions for speed and reduced memory use.
-
-
lispe
An implementation of a full fledged Lisp interpreter with Data Structure, Pattern Programming and High level Functions with Lazy Evaluation à la Haskell.
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
There is also cy [0] which I came across the other day and am yet to try.
[0] https://github.com/cfoust/cy
-
-
-
lisp
A mini Lisp in 1k lines of C with garbage collector, explained. Includes over 40 built-in Lisp primitives, floating point, strings, closures with lexical scope, macros, proper tail recursion, exceptions, execution tracing, file loading, a mark-sweep/compacting garbage collector and REPL. (by Robert-van-Engelen)
-
-
scheme-for-pd
Pure Data port of the Scheme For Max external, providing an embedded S7 Scheme/Lisp interpreter for scripting and live-coding Pure Data in Scheme Lisp.
-
-
lisp-cheney
A mini Lisp in 1k lines of C with Cheney's copying garbage collector, explained. Includes over 40 built-in Lisp primitives, floating point, strings, closures with lexical scope, macros, proper tail recursion, exceptions, execution tracing, file loading, a copying garbage collector and REPL.
-
-
-
-
> I would do exactly the dual: the chunk's size should be defined at pool creation, so that you can create multiple pools, each dedicated to one specific kind of object.
This is supported in my 'libpool' project. I thought I mentioned it in the article, but now I am not so sure.
https://github.com/8dcc/libpool/blob/main/src/libpool.h#L51
> Similarly, I don't like exposing pool_expand(): too much burden on the user. Expansion should be automatically triggered by pool_alloc() whenever the current pool is exhausted.
I feel like this shouldn't be too hard to do, but I actually did write a function for this in another project I am working on.
https://github.com/8dcc/sl/blob/9ddd84d75ffc3b0ba1373bc13bc6...
> This would also allow a much simpler pool_new() that just initializes its pointers to NULL, leaving it to the first invocation of pool_alloc() to actually do the first allocation.
I didn't think of this, but I rather keep the two functions separate, specially for readability in the article.
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C Lisp discussion
C Lisp related posts
-
MicroPython v1.25.0
-
Bootstrapping Lisp in a Boot Sector
-
Show HN: Jwno – Bring Modern Lisp Power to Your Windows Desktop
-
Beyond Traditional Pattern Matching in Lisp
-
Beyond Traditional Pattern Matching in Lisp
-
Bzip3: A better and stronger spiritual successor to BZip2
-
How the Curse of Lisp impacts your business (even if you don't use Lisp)
-
A note from our sponsor - InfluxDB
www.influxdata.com | 24 Jun 2025
Index
What are some of the best open-source Lisp projects in C? This list will help you:
# | Project | Stars |
---|---|---|
1 | janet | 3,881 |
2 | tinylisp | 895 |
3 | lisp-in-life | 458 |
4 | lispe | 415 |
5 | lone | 319 |
6 | yoctolisp | 249 |
7 | scheme-for-max | 223 |
8 | arcadia | 200 |
9 | cy | 156 |
10 | maiko | 147 |
11 | lispBM | 108 |
12 | lisp | 100 |
13 | stutter | 81 |
14 | scheme-for-pd | 71 |
15 | lispkit | 54 |
16 | lisp-cheney | 39 |
17 | Connery | 34 |
18 | muSE | 6 |
19 | ulisp-bl602 | 5 |
20 | sl | 4 |
21 | mlisp | 0 |