Sigil
A programming language for Claude Code and other AI coding agents.
Getting Started
Here's how to write "Hello World" in Sigil (for now at least, until models learn more about Sigil):
claude "Write a Hello World in Sigil and run it"
Why Sigil?
Radical Canonicalization - ONE way to write everything. Not one preferred style: one accepted textual representation per program. The compiler owns the canonical printer internally and rejects any parseable source that does not match it.
Canonical Programming Paths - Sigil canonicalizes common programming patterns, not just syntax. Projection, filtering, reduction, search, and reversal flow through one blessed surface so humans and AI agents converge on the same code shapes.
Zero Ambiguity - Explicit bidirectional types, no shadowing, deterministic execution. Code means exactly what it says. Perfect for AI code generation.
Async Without Await - Built for async I/O without await syntax. Wider concurrency is explicit through named concurrent regions.
Testing Built In - Sigil treats tests as first-class code, with language-level test declarations, JSON-readable results, and runtime-aware validation for things like topology-backed environments.
Machine-First Debugging - Sigil exposes inspect, trace, replay, breakpoints, stepping, and watches as compiler-owned debugging surfaces, so humans and LLMs can reproduce and inspect the same execution instead of relying on ad hoc logs.
Topology as Runtime Truth - External dependencies (such as HTTP and database calls) are declared once, bound per environment, and used through typed handles instead of raw endpoints. Runtime wiring becomes compiler-validated project structure.
Quick Example
λmain()=>Bool=§list.sum([1,2,3,4,5])=15
This website is built from markdown using a Static Site Generator built in Sigil. Docs stay in language/docs, specs in language/spec. Learn more about the site =>
Latest Articles
Docs
- Async Execution in Sigil
- Canonical Enforcement in Sigil
- Canonical Forms in Sigil
- Sigil Debugging
- Sigil FFI (Foreign Function Interface)
- Sigil Mutability Design Note
- Sigil Language Philosophy
- Primitive Type Spelling
- Sigil Standard Library
- Sigil Syntax Reference
- Sigil Testing
- `sigilc test` JSON Output Schema (Format Version 1)
- Topology
- Sigil Type System
- Why Sigil Removed Human IDE Tooling