Show HN: GDSL – 800 line kernel: Lisp subset in 500, C subset in 1300
A developer unveils GDSL, an ambitious project demonstrating fully functional Lisp (500 lines) and C (1300 lines) compilers built atop an 800-line kernel. This 'Show HN' challenges the prevailing notion that compilers require millions of lines of code, sparking questions about modern software complexity. It's a minimalist marvel for the technically curious.
The Lowdown
The author, FirTheMouse, introduces GDSL (Golden), a project aiming to redefine expectations for compiler size and complexity. The core achievement is the creation of a Lisp subset compiler in 500 lines and a C subset compiler in 1300 lines, both utilizing a shared 800-line kernel. This endeavor directly confronts the common belief that modern compilers must be sprawling, multi-million-line codebases.
- The project serves as a 'Show HN' for the author's work, currently hosted on personal pages as they prepare for a full website.
- The author recounts initially subscribing to the idea that small compilers necessitated significant feature compromises.
- Through three weeks of intensive work on language reconstruction, they built compilers that are 'fast enough to be useful' without being fragile.
- The experience led the author to question the necessity of the vast scale of contemporary compilers, pondering what accounts for their 'million lines.'
- The effort involved 'Sixteen months of digging at concrete' for foundational work, culminating in what they call 'Seeds' for future development.
- The project provides links to an 'Early GDSL' version, philosophical essays titled 'Seams,' 'Landscapes,' and 'Kludges,' and the 'Modern GDSL' GitHub repository.
GDSL stands as a powerful testament to the potential for efficiency and conciseness in software engineering, offering a thought-provoking challenge to the prevailing norms of compiler design.