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:

  • Quotablelang↖…↗ parses and round-trips back to identical source
  • Holes — syntactic positions an unquote hole can occupy
  • Variadic — node kinds that accept arbitrarily many children
  • Kindstyp() 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 ↓Emit ←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
  • Emit ← appends into the surrounding variadic container
  • Patternslet ↖pattern↗ = value destructures by matching shape
  • Runnablequilt 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
  • LSPquilt-lsp projection and downstream-server support