Language Support Matrix
Generated by bin/gen-matrix — do not edit. bin/check-matrix fails if this file drifts from the conformance specs.
Every cell below is declared in conformance/spec/<lang>.toml and, where the harness can reach it, verified against the implementation by cargo test -p quilt-conformance. A claim that stops being true fails CI. See issue #144.
Key
| Meaning | |
|---|---|
✅ supported | Works, and a probe proves it |
🟡 partial | Works within a stated limit; the glyph links to the tracking issue |
⬜ unsupported | Deliberately unsupported; the probe asserts a clean error |
🔵 planned | Intended and tracked by an issue; not yet implemented |
A cell marked with a trailing * is declaration-only: it is recorded in the spec but no tier of the harness verifies it yet.
As an object (target) language
| Language | Quotable | Holes | Variadic | Kinds | Lift in | Highlights |
|---|---|---|---|---|---|---|
| Bash | ✅ | ✅ | ✅ | ⬜ | 🟡 | ✅ |
| HTML | ✅ | ✅ | ✅ | ⬜ | 🟡 | ✅ |
| Lean 4 | ✅ | 🟡 | ✅ | ✅ | ✅ | ✅ |
| Nix | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Python | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Rust | ✅ | ✅ | ✅ | ✅ | ✅ | ⬜ |
| SQL | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Plain text | ✅ | ✅ | ✅ | ✅ | 🔵 | ⬜ |
| TypeScript | ✅ | ✅ | ✅ | ✅ | 🔵 | ⬜ |
| WGSL | ✅ | ✅ | ✅ | ⬜ | 🟡 | ⬜ |
| Zsh | ✅ | ✅ | ✅ | ⬜ | 🟡 | ✅ |
Columns:
- Quotable —
lang↖…↗parses and round-trips back to identical source - Holes — syntactic positions an unquote hole can occupy
- Variadic — node kinds that accept arbitrarily many children
- Kinds —
typ()sorts tags into expr / stmt / item / block / file - Lift in — Rust values lift into this language's literal syntax via
↑ - Highlights — a tree-sitter
highlights.scmis vendored for embedded quotes
As a host (meta) language
| Language | Host | Lift out | Reduce ↓ | Emit ← | Patterns | Runnable | Runtime |
|---|---|---|---|---|---|---|---|
| Bash | ✅ | ⬜ | ⬜ | ⬜ | ⬜ | ✅ | ⬜ |
| HTML | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ |
| Lean 4 | ✅ | ✅ | 🔵 | 🔵 | ⬜ | ⬜ | 🔵 |
| Nix | ✅ | ✅ | 🔵 | 🟡 | ⬜ | ⬜ | 🔵 |
| Python | ✅ | ✅ | ✅ | ⬜ | ⬜ | ✅ | ✅ |
| Rust | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| SQL | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ |
| Plain text | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ |
| TypeScript | ✅ | ✅ | ✅ | ⬜ | ⬜ | ✅ | ✅ |
| WGSL | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ |
| Zsh | ✅ | ⬜ | ⬜ | ⬜ | ⬜ | ✅ | ⬜ |
Columns:
- Host — has a
MetaLanguage, so it can be the ground language of a.quiltfile - Lift out — targets this host can lift a value into
- Reduce ↓ —
↓evaluates a fragment at generation time - Emit ← —
←appends into the surrounding variadic container - Patterns —
let ↖pattern↗ = valuedestructures by matching shape - Runnable —
quilt runcan execute a file in this language directly - Runtime — a published package implements the
QTermbuilder API
Cross-cutting
| Language | Glyphs | Chain | Header | LSP |
|---|---|---|---|---|
| Bash | ✅ | ✅ | ✅ | 🟡* |
| HTML | ✅ | ✅ | ⬜ | 🟡* |
| Lean 4 | 🟡 | ✅ | ✅ | ✅* |
| Nix | ✅ | ✅ | ✅ | 🟡* |
| Python | ✅ | ✅ | ✅ | ✅* |
| Rust | ✅ | ✅ | ✅ | ✅* |
| SQL | ✅ | ✅ | ⬜ | 🟡* |
| Plain text | ✅ | ✅ | ⬜ | ⬜* |
| TypeScript | ✅ | ✅ | ✅ | ⬜* |
| WGSL | ✅ | ✅ | ⬜ | 🟡* |
| Zsh | ✅ | ✅ | ✅ | 🟡* |
Columns:
- Glyphs — Quilt glyphs that are also this language's own syntax
- Chain — usable as a non-ground language in a
.a.b.quiltchain - Header — the generated-file header uses this language's comment syntax
- LSP —
quilt-lspprojection and downstream-server support