Show HN: GDSL – 800 line kernel: Lisp subset in 500, C subset in 1300
FirTheMouse
62 points
16 comments
March 15, 2026
Related Discussions
Found 5 related stories in 55.2ms across 3,471 title embeddings via pgvector HNSW
- Show HN: Crazierl – An Erlang Operating System toast0 · 52 pts · March 29, 2026 · 55% similar
- Show HN: I made a "programming language" looking for feedback alonsovm · 29 pts · March 29, 2026 · 54% similar
- Show HN: Han – A Korean programming language written in Rust xodn348 · 141 pts · March 14, 2026 · 53% similar
- Show HN: Run 500B+ Parameter LLMs Locally on a Mac Mini fatihturker · 11 pts · March 09, 2026 · 53% similar
- Show HN: Skir – like Protocol Buffer but better gepheum · 72 pts · March 08, 2026 · 53% similar
Discussion Highlights (6 comments)
akkartik
Looks interesting. The next step may be to show some little fun examples built with it. Here's my similar project from a few years ago, in case you want to compare notes: https://github.com/akkartik/mu https://akkartik.name/akkartik-convivial-20200607.pdf
WalterGR
GitHub link: https://github.com/FirTheMouse/GDSL
xendo
I thought you needed 100k lines of code for a C compiler. https://www.anthropic.com/engineering/building-c-compiler
kaihong_deng
Really interesting writeup. What stood out to me most was the shift from the earlier node execution path to the streamed path. The benchmark gap between execute_r_nodes and execute_stream is huge, and the latter getting relatively close to the handwritten C++ baseline is the part I keep thinking about. After building this, where do you think most compiler complexity actually comes from? My impression from your post is that a lot of the “millions of lines” are not from the core syntax-to-execution path itself, but from language surface area, tooling, diagnostics, optimization passes, and long-tail ecosystem baggage.
ptspts
GDSL is written in C++ with use of STL, templates and lambdas, so it's 2600 lines of such C++ source code. There is no self-hosting: neither the LISP compiler nor the C compiler can compile itself. No operating system is implemented, the word kernel in the title means something else. FYI Here is a 700-line subset-of-C compiler which can compile itself: https://github.com/valdanylchuk/xcc700 . FYI The linker and the libc are not included.
QuadmasterXLII
where does it generate assembly assembly / llvm ir / machine code? I poked around and didn’t immediately spot this, or even which it targets.