22x Faster Builds: Inside GALA's Compilation Performance Journey
How profiling, batch analysis, and content-addressed caching took multi-file compilation from 44.7s to 2.0s
Search for a command to run...
Series
A ten-part technical blog series exploring GALA — a modern programming language that brings sealed types, pattern matching, monadic error handling, and immutable-by-default semantics to the Go ecosystem. Each post takes a single concept, shows the problem it solves with real code, compares it to idiomatic Go, and is honest about trade-offs. Written for Go developers who want more expressiveness and functional programmers who want Go's runtime.
How profiling, batch analysis, and content-addressed caching took multi-file compilation from 44.7s to 2.0s
What breaks when you map functional programming onto Go's type system, and how testing infrastructure keeps it fixed
46 releases, 216 tests, 22x faster compilation — two months of building a language that transpiles to Go
samber/lo has 21,000 stars. samber/mo has 3,300. Together, they represent one of the loudest feature requests the Go community has ever filed -- not through proposals or GitHub issues, but through ado

If you have used IBM's fp-go library, you know the promise of functional programming in Go -- and the pain of Go's syntax fighting you every step of the way. Pipe3, Pipe5, Pipe7. Function adapters eve

Go is a language built on simplicity. But simplicity has costs, and one cost Go developers feel acutely is the lack of pattern matching and algebraic data types. If you have ever modeled a closed set
