Skip to main content

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
✅ supportedWorks, and a probe proves it
🟡 partialWorks within a stated limit; the glyph links to the tracking issue
⬜ unsupportedDeliberately unsupported; the probe asserts a clean error
🔵 plannedIntended 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​

LanguageQuotableHolesVariadicKindsLift inHighlights
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.scm is vendored for embedded quotes

As a host (meta) language​

LanguageHostLift outReduce ↓MachineEmit ←PatternsRunnableRuntime
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 .quilt file
  • Lift out — targets this host can lift a value into
  • Reduce ↓ — ↓ evaluates a fragment at generation time
  • Machine — a stateful machine executes this language, holding definitions between feeds
  • Emit ← — ← appends into the surrounding variadic container
  • Patterns — let ↖pattern↗ = value destructures by matching shape
  • Runnable — quilt run can execute a file in this language directly
  • Runtime — a published package implements the QTerm builder API

Cross-cutting​

LanguageGlyphsChainHeaderLSP
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.quilt chain
  • Header — the generated-file header uses this language's comment syntax
  • LSP — quilt-lsp projection and downstream-server support