One language from a five-line script to a dynamic distributed system.
hale-lang.org · Guide · Playground · Packages · Features · Glossary
Hale is a compiled, general-purpose language. Every piece of state has one owner, and the parts of a program talk only over declared, typed message channels. That shape lets the compiler check a program's architecture the way it checks its types. It runs natively with no garbage collector and no borrow checker, and its concurrency has no locks and no data races.
- Try it in the browser in the playground.
- Install it with one line:
curl -fsSL https://hale-lang.org/install.sh | sh - Read the guide at hale-lang.org/docs.
- Read the compiler, runtime and spec in hale.
| Repository | What it holds |
|---|---|
| hale | The language: compiler, runtime, standard library, spec and guide |
| hale-lang.org | The website, with the guide, examples and playground |
| pond | Contributed libraries: HTTP, SQLite, WebSocket, routing, LLM agents, metrics and terminal UI |
| tree-sitter-hale | The Tree-sitter grammar, for editors and highlighting |
| hlhub | Hale highlighting on github.com, a browser extension whose core is written in Hale |
| bench | Benchmarks, with a cross-language comparison and instructions to reproduce it |
| papers | Two papers on capacity-allocation bounds in coordinated systems |
Hale is in prerelease. Syntax and artifact formats still change between releases, so pin a version if you depend on anything.
Apache 2.0 across the organization unless a repository says otherwise.