Leia
Leia is a general-purpose scripting language designed to run standalone or inside Go applications. It combines a compact, Go-shaped syntax with dynamic values, modules, concurrency, an embeddable VM, and opt-in domain dialects.
rows := [
{sym: "AAPL", px: 100.0, qty: 10},
{sym: "MSFT", px: 101.5, qty: 12},
{sym: "AAPL", px: 100.75, qty: 8},
]
total := 0
for _, r := range ipairs(rows) {
if r.sym == "AAPL" {
total += r.qty
}
}
print(total)
What It Is
- A Go-embedded scripting runtime with Go-shaped syntax and a small host API.
- Native DSL extension through tagged dialects, so domain syntax can live beside Leia code without expanding the core grammar.
- High-throughput in-memory data primitives for vectors, frames, matrices, and typed runtime/JIT work.
- A practical automation language for services, tools, data pipelines, and embedded application logic.
Start Here
- Language specification
- Playground
- Getting started
- CLI reference
- Go embedding API
- Embedding guide
- Examples
Language
- Language overview
- Grammar appendix
- Standard library
- Modules
- Packages and modules
- Concurrency
- Errors and diagnostics
Dialects And Data
- Tagged dialects
- Data-oriented programming
- Scientific numeric programming
- Performance and benchmarks
- Evaluate reference
- Optional LLM dialect reference
- Optional LLM dialect guide
Runtime And Tooling
- File directives
- Security and sandboxing
- Hot reload
- Platforms and execution modes
- Tooling guide
- Script entrypoints
- Editors and LSP
- Testing and release validation