Literal Spw Parser
This is the parser, running in your browser. Change the source and watch Spw become tokens, an abstract syntax tree, diagnostics, and an exact reconstruction.
This tool ships the portable reader and parser kernel from spw-workbench. The public page does not imitate a parse or infer braces with display-only rules: the same spw-workbench-reader.js bundle used by the language tooling produces the outline, tokens, AST, and diagnostics below. Load practices, language-sync, film, and year-mix as public specimens — plus the beans garden (<beans>, beans.<, <beans>#) — so demand comes from work already on the site, not private theory. A teaching contour: swap [mode] and (scene) on the same stem, or compare {a,b} (co-present set) against {a;b} (causal sequence) and {a}.{b} (crawl between closed practices). The destination may rhyme; the binding does not. That distinction is the design target — not a new wonder type. Consumer notes for the workbench live in .spw/workbench-report.spw and on the atlas improvement list.
Source → evidence
Parser build: spw-workbench
Literal source
editable literalTab indents, Shift + Tab outdents, Enter keeps the indent. Press Esc, then Tab, to leave the editor. A brace lights with its partner under the caret.
Waiting for the parser.
The first action creates an app-safe URL containing this exact source. The installed Spw app opens that URL at this parser; registered .spw files can open here directly on supporting systems.
Outlineas your editor shows it; select a row to go there
Tokenslexer order + source positions
ASTparser-owned node types + spans
null
Diagnosticserrors and warnings are not hidden
Language capability & v0.4 design specimens
These specimens test both settled language capabilities (runnable claims/probes, dot-crawl joins, separator algebra, combinatoric genre) and historical v0.4 design probes (!:profile, >stem) against the live browser parser kernel. Load any specimen to inspect token spans, AST depth, and how candidate constructs either became capability contracts or retired into simpler conventions.
Claims & Probes (load)
owner_claim and #>wonder_* blocks pair hypotheses (?["..."]{}) with runnable probes (!probe{ "..." }); closing the loop onto a claim is the proposed inquiry.loop/1. See inquiry loop & claims.
File Profiles (load)
Historical !:profile "convention" specimen: tested as explicit syntax, now retired in favor of path-inferred file homes plus #:layer / #:operation / #:fixity headers (header.axes/1). See header axes.
Dot-Crawl Joins (load)
Crawl traverses complete braces ({a}.{b}.{c}). Tight a.b.c is one identifier. Inside a brace, comma holds a co-present set; semicolon orders a sequence; ~> relays a path. Pillar: joins.
Stem Projections (load)
Historical >stem[name]{...} specimen: one semantic root projected across copy units, CSS tokens, runtime datasets, and .spw handles. The language census now traces stem families instead, and checking that each projection has a reader is proposed.
Combinatoric Genre (load)
Five voices, twenty pairs. Dummy for a first beat, not twenty-five SKUs. Parser still has to round-trip boonhonk[genre]{...}.
Path count (load)
The spatial twin of a pair: paths[grid]{east.north}.
Gradient slices (load)
Slice-specific rates as one uphill hint.
Holdings (load)
Seed, season, table — a small book of holds. Capsule <policy> is the channel, not a ticker.
First beat (load)
beat[unary]{close}<offer>, pair compose, season dwell. Same grammar as the studio channel.
Workbench Bridge
Upstream language design moves one capability at a time in spw-workbench, often from the asks this site files. See language evolution and parser source.
What this proves
Literal structure
Source positions, token kinds, and AST spans remain inspectable. When the parser emits diagnostics they stay visible; permissive input remains accepted exactly as the parser reports.
Portable kernel
The parser has no DOM dependency. This page imports a browser bundle generated from the mounted workbench parser entrypoint.
Lossless evidence
The token stream is concatenated and compared with the original source. “Exact” means every emitted token reconstructs the literal input.
Honest boundary
This proves parsing and source geometry. It does not claim evaluation, canonical normalization, runtime effects, or semantic correctness for every possible program.