Welcome to the GALA documentation hub. Here you will find everything you need to learn and use GALA effectively.
| Topic | Description |
|---|---|
| Language Reference | Full syntax and semantics reference |
| Sealed Types | Define closed type hierarchies with exhaustive compile-time checking |
| Pattern Matching | Destructure values, apply guards, and produce expression results |
| Immutability | val bindings, immutable struct fields, Copy(), and ConstPtr[T] |
| Type Inference | What you can leave out — generics, lambda params, accumulators |
| Error Handling | Composable Option[T], Either[A,B], and Try[T] monads |
| Monadic Binding | bind / also do-notation, including accumulating Validated groups |
| String Interpolation | s"…" and f"…" literals with embedded expressions and formatting |
| Concurrency Safety | Compile-time data-race safety — Shareable, Sendable, and GALA-E0037 |
| Compiler DX | Framed diagnostics, GALA-source stack traces, guaranteed TCO, use |
| GALA vs Go | Side-by-side comparison with idiomatic Go code |
| Topic | Description |
|---|---|
| Collections | Immutable List, Array, HashMap, HashSet, TreeSet, TreeMap and their mutable variants |
| Immutable Collections | Full API reference for the persistent collection types |
| Mutable Collections | collection_mutable reference — in-place updates for hot paths |
| Concurrency | Future[T], Promise[T], ExecutionContext, cancellation, timeouts, and Race |
| Subprocess | Spawn and drive external child processes with a goroutine-safe Process handle, including Future-returning async methods |
| Streams | Lazy, potentially infinite sequences with Stream[T] |
| Strings | Str, the string builder, and the free string functions |
| Time Utilities | Duration, Sleep, and time helpers |
| Go Interop | Import and use any Go package, type, or function directly from GALA |
| Json | Type-safe JSON serialization, deserialization, and pattern matching extractors |
| Yaml | Type-safe YAML serialization, deserialization, and pattern matching extractors |
| Regex | Regular expressions with pattern matching and Array destructuring |
| IO Effect | Lazy composable side effects with IO[T] |
Validated[E, A] — the applicative companion to Either that accumulates every error instead of short-circuiting, with Zip2 through Zip10 — is documented alongside the also groups that use it in Monadic Binding.
| Topic | Description |
|---|---|
| Getting Started | Installation, project setup, and writing your first GALA program |
| Why GALA? | Feature-by-feature assessment, ideal use cases, and honest trade-offs |
| Examples | Complete, runnable programs covering the language surface |
| Dependency Management | gala.mod, GALA and Go dependencies, and Bazel integration |
| Error Codes | Every GALA-Exxxx diagnostic — when it fires and how to fix it |
| IDE Support | IntelliJ/GoLand plugin and the gala lsp server (VS Code, Neovim) |
| Playground | Try GALA in your browser – no installation required |
| GitHub Repository | Source code, issue tracker, and release downloads |
| Project | Description |
|---|---|
| GALA Playground | Web-based playground – try it live |
| State Machine Example | State machines with sealed types and pattern matching |
| Log Analyzer | Structured log parsing with Go stdlib interop and functional pipelines |
| GALA Server | Immutable HTTP server library with builder-pattern configuration |
| GALA TUI | Elm-architecture TUI framework – immutable widgets, differential renderer, async runtime |
| GALA Team | Multi-agent Claude CLI orchestrator – Team Lead delegates to Engineers and QAs, reviews work, hands you a PR |