Solod is a new systems programming language that takes an unusual approach: rather than building a fresh ecosystem, it positions itself as a strict subset of Go. This means it reuses Go's syntax highlighting, LSP, linters, and package management out of the box. Solod also ports significant portions of Go's standard library, sometimes verbatim and sometimes adapted to support manual memory management with explicit allocators. Under the hood, all Solod code compiles to C11 via GCC or Clang, giving it zero-cost C interoperability and access to decades of C tooling and optimization. The custom `so` CLI catches language features that Go tools wouldn't flag as unsupported in Solod, such as function literals and iterators.
Table of contents
Go's toolingGo's standard libraryA grain of saltIt's all C in the endFinal thoughtsQuestions this post answers
How does Solod reuse Go tooling without being a full Go implementation?
Solod is defined as a strict language subset of Go, so all existing Go tooling — syntax highlighting, LSP, linters, and the module system — works without modification. A custom `so` CLI fills the gap by flagging features Go tools wouldn't catch as unsupported in Solod, such as function literals and iterators. The workflow is otherwise standard Go: `go mod init`, `go get`, and `so run`. Developers building or evaluating new systems languages track ecosystem decisions like this on daily.dev.
What does Solod compile to and how does C interoperability work?
All Solod code is translated to C11 and then compiled with GCC or Clang. Because there is no runtime, interoperability between Solod and C has zero cost. The generated C remains human-readable, though it is more verbose than the Solod source for non-trivial programs. Engineers choosing between systems languages for C interop find the tradeoffs discussed on daily.dev.
84.8K Impressions4 Comments