on master help sign in
Drop the union rune

Let mold definitions take union cases on their following lines, and restrict generic molds to the definition head. Reject the removed rune with guidance and update the specification, examples, and golden cases.

commitaad6ddbba115d8dd9e32de737b528ac90c1fac7c authoriko <mail@iko.soy> dateFri 30 Oct 2026, 15:45 (15 hours ago) parentea5ed18
237 files changed+2354−1783
docs/README.md+4−4 docs/compiler.md+2−2 docs/open-questions.md+3−2 docs/prompts/milestone-2.md+15−12 docs/spec/decisions.md+2−2 docs/spec/grammar.md+15−17 docs/spec/overview.md+8−8 docs/status.md+5−4 jibb-dev/lib/jibb.hoon+137−101 my-app/ui/api/todo.jibb+1−1 my-app/ui/basket.jibb+1−1 my-app/ui/stores/cart.jibb+1−1 my-app/ui/todo-list.jibb+1−1 tests/golden/doc-grammar-04-step/about.txt+1−1 tests/golden/doc-grammar-04-step/source.jibb+1−1 tests/golden/doc-grammar-04-step/tokens.txt−1 tests/golden/doc-grammar-04-step/tree.txt+1−1 tests/golden/doc-grammar-06-cart-store/source.jibb+1−1 tests/golden/doc-grammar-06-cart-store/tokens.txt−1 tests/golden/doc-grammar-06-cart-store/tree.txt+1−1 tests/golden/doc-grammar-07-basket/source.jibb+1−1 tests/golden/doc-grammar-07-basket/tokens.txt−1 tests/golden/doc-grammar-07-basket/tree.txt+1−1 tests/golden/doc-overview-01-cmd-sub/about.txt+1−1 tests/golden/doc-overview-01-cmd-sub/source.jibb+2−2 tests/golden/doc-overview-01-cmd-sub/tokens.txt−2 tests/golden/doc-overview-01-cmd-sub/tree.txt+2−2 tests/golden/doc-overview-04-todo-api/source.jibb+1−1 tests/golden/doc-overview-04-todo-api/tokens.txt−1 tests/golden/doc-overview-04-todo-api/tree.txt+1−1 tests/golden/doc-overview-10-todo-list/source.jibb+1−1 tests/golden/doc-overview-10-todo-list/tokens.txt−1 tests/golden/doc-overview-10-todo-list/tree.txt+1−1 tests/golden/inline-gate-after-definition-bad/about.txt+3 tests/golden/inline-gate-after-definition-bad/source.jibb+1 tests/golden/inline-gate-after-definition-bad/tokens.txt+4 tests/golden/inline-gate-after-definition-bad/tree.txt+3 tests/golden/inline-gate-field-bad/about.txt+3 tests/golden/inline-gate-field-bad/source.jibb+1 tests/golden/inline-gate-field-bad/tokens.txt+8 tests/golden/inline-gate-field-bad/tree.txt+3 tests/golden/inline-generic-apply-bad/about.txt+3 tests/golden/inline-generic-apply-bad/source.jibb+1 tests/golden/inline-generic-apply-bad/tokens.txt+11 tests/golden/inline-generic-apply-bad/tree.txt+3 tests/golden/inline-generic-both-bad/about.txt+3 tests/golden/inline-generic-both-bad/source.jibb+3 tests/golden/inline-generic-both-bad/tokens.txt+13 tests/golden/inline-generic-both-bad/tree.txt+3 tests/golden/inline-generic-case-bad/about.txt+3 tests/golden/inline-generic-case-bad/source.jibb+2 tests/golden/inline-generic-case-bad/tokens.txt+10 tests/golden/inline-generic-case-bad/tree.txt+3 tests/golden/inline-generic-cast-bad/about.txt+3 tests/golden/inline-generic-cast-bad/source.jibb+1 tests/golden/inline-generic-cast-bad/tokens.txt+10 tests/golden/inline-generic-cast-bad/tree.txt+3 tests/golden/inline-generic-empty-bad/about.txt+3 tests/golden/inline-generic-empty-bad/source.jibb+2 tests/golden/inline-generic-empty-bad/tokens.txt+11 tests/golden/inline-generic-empty-bad/tree.txt+3 tests/golden/inline-generic-field-bad/about.txt+3 tests/golden/inline-generic-field-bad/source.jibb+1 tests/golden/inline-generic-field-bad/tokens.txt+12 tests/golden/inline-generic-field-bad/tree.txt+3 tests/golden/inline-generic-mold/about.txt+1−1 tests/golden/inline-generic-prefix-bad/about.txt+3 tests/golden/inline-generic-prefix-bad/source.jibb+1 tests/golden/inline-generic-prefix-bad/tokens.txt+3 tests/golden/inline-generic-prefix-bad/tree.txt+3 tests/golden/inline-hoon-union-apply-bad/about.txt+3 tests/golden/inline-hoon-union-apply-bad/source.jibb+1 tests/golden/inline-hoon-union-apply-bad/tokens.txt+11 tests/golden/inline-hoon-union-apply-bad/tree.txt+3 tests/golden/inline-hoon-union-cast-bad/about.txt+3 tests/golden/inline-hoon-union-cast-bad/source.jibb+1 tests/golden/inline-hoon-union-cast-bad/tokens.txt+10 tests/golden/inline-hoon-union-cast-bad/tree.txt+3 tests/golden/inline-hoon-union-definition-bad/about.txt+3 tests/golden/inline-hoon-union-definition-bad/source.jibb+1 tests/golden/inline-hoon-union-definition-bad/tokens.txt+8 tests/golden/inline-hoon-union-definition-bad/tree.txt+3 tests/golden/inline-hoon-union-field-bad/about.txt+3 tests/golden/inline-hoon-union-field-bad/source.jibb+1 tests/golden/inline-hoon-union-field-bad/tokens.txt+12 tests/golden/inline-hoon-union-field-bad/tree.txt+3 tests/golden/inline-hoon-union-gate-bad/about.txt+3 tests/golden/inline-hoon-union-gate-bad/source.jibb+1 tests/golden/inline-hoon-union-gate-bad/tokens.txt+11 tests/golden/inline-hoon-union-gate-bad/tree.txt+3 tests/golden/inline-hoon-union-nested-sample-bad/about.txt+3 tests/golden/inline-hoon-union-nested-sample-bad/source.jibb+2 tests/golden/inline-hoon-union-nested-sample-bad/tokens.txt+19 tests/golden/inline-hoon-union-nested-sample-bad/tree.txt+3 tests/golden/inline-hoon-union-open-apply-bad/about.txt+3 tests/golden/inline-hoon-union-open-apply-bad/source.jibb+2 tests/golden/inline-hoon-union-open-apply-bad/tokens.txt+12 tests/golden/inline-hoon-union-open-apply-bad/tree.txt+3 tests/golden/inline-hoon-union-open-field-bad/about.txt+3 tests/golden/inline-hoon-union-open-field-bad/source.jibb+2 tests/golden/inline-hoon-union-open-field-bad/tokens.txt+13 tests/golden/inline-hoon-union-open-field-bad/tree.txt+3 tests/golden/inline-hoon-union-sample-bad/about.txt+3 tests/golden/inline-hoon-union-sample-bad/source.jibb+2 tests/golden/inline-hoon-union-sample-bad/tokens.txt+14 tests/golden/inline-hoon-union-sample-bad/tree.txt+3 tests/golden/inline-hoon-union-wide-sample-bad/about.txt+3 tests/golden/inline-hoon-union-wide-sample-bad/source.jibb+1 tests/golden/inline-hoon-union-wide-sample-bad/tokens.txt+13 tests/golden/inline-hoon-union-wide-sample-bad/tree.txt+3 tests/golden/inline-leftout-buc-alone/about.txt+3 tests/golden/inline-leftout-buc-alone/source.jibb+1 tests/golden/inline-leftout-buc-alone/tokens.txt+3 tests/golden/inline-leftout-buc-alone/tree.txt+3 tests/golden/inline-leftout-buc-paren-2/about.txt+1−1 tests/golden/inline-leftout-buccen/about.txt+2−2 tests/golden/inline-leftout-buccen/tokens.txt+1−1 tests/golden/inline-leftout-buccen/tree.txt+1−1 tests/golden/inline-mold-generic/about.txt+1−1 tests/golden/inline-mold-generic/source.jibb+1−1 tests/golden/inline-mold-generic/tokens.txt−1 tests/golden/inline-mold-generic/tree.txt+1−1 tests/golden/inline-pattern-crash-arm/about.txt+1−1 tests/golden/inline-pattern-crash-arm/source.jibb+4−1 tests/golden/inline-pattern-crash-arm/tokens.txt+25−20 tests/golden/inline-pattern-crash-arm/tree.txt+10−9 tests/golden/inline-pattern-crash-bad/about.txt+1−1 tests/golden/inline-pattern-crash-bad/source.jibb+4−1 tests/golden/inline-pattern-crash-bad/tokens.txt+25−20 tests/golden/inline-pattern-crash-bad/tree.txt+1−1 tests/golden/inline-scry-case/about.txt+1−1 tests/golden/inline-scry-case/source.jibb+1−1 tests/golden/inline-scry-case/tokens.txt−1 tests/golden/inline-scry-case/tree.txt+5−6 tests/golden/inline-term-numeric/source.jibb+4−1 tests/golden/inline-term-numeric/tokens.txt+29−27 tests/golden/inline-term-numeric/tree.txt+10−10 tests/golden/inline-union-both-bad/about.txt+3 tests/golden/inline-union-both-bad/source.jibb+3 tests/golden/inline-union-both-bad/tokens.txt+9 tests/golden/inline-union-both-bad/tree.txt+3 tests/golden/inline-union-local/about.txt+3 tests/golden/inline-union-local/source.jibb+5 tests/golden/inline-union-local/tokens.txt+18 tests/golden/inline-union-local/tree.txt+8 tests/golden/inline-union-one-case/about.txt+3 tests/golden/inline-union-one-case/source.jibb+3 tests/golden/inline-union-one-case/tokens.txt+20 tests/golden/inline-union-one-case/tree.txt+9 tests/golden/inline-union-record-bad/about.txt+3 tests/golden/inline-union-record-bad/source.jibb+3 tests/golden/inline-union-record-bad/tokens.txt+12 tests/golden/inline-union-record-bad/tree.txt+3 tests/golden/inline-union-wide/about.txt+3−3 tests/golden/inline-union-wide/tokens.txt+3−7 tests/golden/inline-union-wide/tree.txt+3−3 tests/golden/inline-wide-form-rune-bad/about.txt+1−1 tests/golden/inline-wide-forms/about.txt+2−2 tests/golden/inline-wide-forms/source.jibb−1 tests/golden/inline-wide-forms/tokens.txt+5−12 tests/golden/inline-wide-forms/tree.txt+2−4 tests/golden/inline-wide-union-call/about.txt+3−3 tests/golden/inline-wide-union-call/source.jibb+3−1 tests/golden/inline-wide-union-call/tokens.txt+7−6 tests/golden/inline-wide-union-call/tree.txt+3−3 tests/golden/lex-indent-ok-3/source.jibb+1−1 tests/golden/lex-indent-ok-3/tokens.txt−1 tests/golden/lex-indent-ok-3/tree.txt+1−1 tests/golden/lex-layout-bad-1/about.txt+1−1 tests/golden/lex-layout-bad-10/about.txt+1−1 tests/golden/lex-layout-bad-5/about.txt+1−1 tests/golden/lex-layout-bad-6/about.txt+2−2 tests/golden/lex-name-bad-6/about.txt+1−1 tests/golden/lex-open-bracket-bad-12/about.txt+1−1 tests/golden/lex-open-bracket-bad-15/about.txt+1−1 tests/golden/lex-open-bracket-ok-5/about.txt+2−2 tests/golden/lex-open-bracket-ok-5/source.jibb−2 tests/golden/lex-open-bracket-ok-5/tokens.txt+15−26 tests/golden/lex-open-bracket-ok-5/tree.txt+9−14 tests/golden/lex-open-bracket-ok-9/about.txt+3−3 tests/golden/lex-open-bracket-ok-9/source.jibb+2−2 tests/golden/lex-open-bracket-ok-9/tokens.txt−2 tests/golden/lex-open-bracket-ok-9/tree.txt+2−5 tests/golden/lex-open-mold-bad-6/about.txt+3−3 tests/golden/lex-open-mold-bad-6/source.jibb+1−2 tests/golden/lex-open-mold-bad-6/tokens.txt+3−8 tests/golden/lex-open-mold-bad-6/tree.txt+3−3 tests/golden/lex-open-mold-ok-4/about.txt+2−2 tests/golden/lex-open-mold-ok-4/source.jibb+1−1 tests/golden/lex-open-mold-ok-4/tokens.txt−1 tests/golden/lex-open-mold-ok-4/tree.txt+1−1 tests/golden/lex-open-mold-ok-5/about.txt+1−1 tests/golden/lex-rune-layout-bad-10/about.txt−3 tests/golden/lex-rune-layout-bad-10/tree.txt−3 tests/golden/lex-rune-layout-bad-13/about.txt+3−3 tests/golden/lex-rune-layout-bad-13/source.jibb+2−1 tests/golden/lex-rune-layout-bad-13/tokens.txt+3−8 tests/golden/lex-rune-layout-bad-13/tree.txt+3−3 tests/golden/lex-rune-layout-bad-15/about.txt+1−1 tests/golden/lex-rune-layout-bad-9/about.txt+1−1 tests/golden/lex-rune-layout-ok-1/about.txt+1−1 tests/golden/lex-rune-layout-ok-1/source.jibb+2−3 tests/golden/lex-rune-layout-ok-1/tokens.txt+5−8 tests/golden/lex-rune-layout-ok-1/tree.txt+1−1 tests/golden/lex-rune-layout-ok-2/about.txt+3 tests/golden/lex-rune-layout-bad-10/source.jibb → tests/golden/lex-rune-layout-ok-2/source.jibb tests/golden/lex-rune-layout-bad-10/tokens.txt → tests/golden/lex-rune-layout-ok-2/tokens.txt tests/golden/lex-rune-layout-ok-2/tree.txt+4 tests/golden/lex-term-bad-13/about.txt+1−1 tests/golden/lex-tight-change-bad-1/about.txt+1−1 tests/golden/lex-tight-change-bad-2/about.txt+1−1 tests/golden/lex-tight-change-ok-1/about.txt+1−1 tests/golden/lex-tight-ctor-bad-1/about.txt+1−1 tests/golden/lex-tight-ctor-bad-2/about.txt+1−1 tests/golden/lex-tight-ctor-ok-1/about.txt+1−1 tests/golden/lex-tight-opener-bad-1/about.txt+1−1 tests/golden/lex-tight-opener-bad-2/about.txt+1−1 tests/golden/lex-tight-opener-bad-3/about.txt+3−3 tests/golden/lex-tight-opener-bad-3/tokens.txt+3−8 tests/golden/lex-tight-opener-bad-3/tree.txt+2−2 tests/golden/lex-tight-opener-bad-4/about.txt+1−1 tests/golden/lex-tight-opener-ok-1/about.txt+2−2 tests/golden/lex-tight-opener-ok-1/source.jibb−1 tests/golden/lex-tight-opener-ok-1/tokens.txt+5−12 tests/golden/lex-tight-opener-ok-1/tree.txt+2−4 tests/golden/lex-tight-pair-bad-1/about.txt+1−1 tests/golden/lex-tight-pair-bad-2/about.txt+1−1 tests/golden/lex-tight-pair-bad-3/about.txt+1−1 tests/golden/lex-tight-pair-ok-1/about.txt+1−1 tests/golden/lex-tight-qath-bad-1/about.txt+1−1 tests/golden/lex-tight-qath-ok-1/about.txt+1−1 tests/golden/lex-tight-unit-bad-1/about.txt+1−1 tests/golden/lex-tight-unit-ok-1/about.txt+1−1 tests/golden/lex-tight-wing-bad-1/about.txt+1−1 tests/golden/lex-tight-wing-ok-1/about.txt+1−1 tests/lib/jibb.hoon+1389−1269 tools/ship+1−1
docs/README.md+4−4
@@ -1,6 +1,6 @@
11# Docs
22
3−Jibb's spec is a design doc by @iko, [Jibb — an Elm-architecture UI language for Urbit](https://claude.ai/artifact/DMBr48qzi5z8hcwn2ccPBv). Where this repo and the doc disagree, the doc wins. This folder keeps a copy of the doc and what the doc doesn't hold: where the build stands, what is still open, and how to work on the code.
3+Jibb's spec is a design doc by @iko, [Jibb — an Elm-architecture UI language for Urbit](https://claude.ai/artifact/DMBr48qzi5z8hcwn2ccPBv), and its repository copy in `spec/`. The repository copy records the 2026-10-30 decision to drop `$?`; the Claude document still needs that change. This folder also holds where the build stands, what is still open, and how to work on the code.
44
55| File | What it holds |
66| --- | --- |
@@ -10,11 +10,11 @@ Jibb's spec is a design doc by @iko, [Jibb — an Elm-architecture UI language f
1010| [development.md](development.md) | Setting up a machine, the ground rules, the checks to run before pushing |
1111| [compiler.md](compiler.md) | A map of `jibb-dev/lib/jibb.hoon`: its API, data, errors and printed formats |
1212| [prompts/milestone-2.md](prompts/milestone-2.md) | A brief for the developer who builds milestone 2, types and prelude |
13−| [prompts/drop-union-rune.md](prompts/drop-union-rune.md) | A brief for the developer who drops `$?`, as decided on 2026-10-30, before milestone 2 |
13+| [prompts/drop-union-rune.md](prompts/drop-union-rune.md) | The completed brief for dropping `$?`, as decided on 2026-10-30, before milestone 2 |
1414
1515## The spec
1616
17−`spec/` is a snapshot of the doc taken on 2026-10-30, after @iko's answers to the 12 grammar questions that day. Each file is one tab, exported as Markdown and not edited:
17+`spec/` began as a snapshot of the doc taken on 2026-10-30, after @iko's answers to the 12 grammar questions that day. It has since been edited to record the decision to drop `$?`; the Claude document still needs those edits. Each file corresponds to one tab:
1818
1919| File | Tab |
2020| --- | --- |
@@ -28,7 +28,7 @@ The doc has a sixth tab, "Loom on Urbit", which is empty, so it has no file.
2828
2929The overview's pipeline diagram, "Jibb pipeline · source to browser in three stages", is embedded content, so the export holds only a placeholder line for it under Architecture. The doc shows it.
3030
31−The snapshot can go stale. Before relying on a detail, check the doc. To refresh it, export each tab as Markdown again (in a Claude session, the Claude Docs connector's `export` gives each tab's Markdown), replace the files, and run:
31+The two copies can diverge. Sync the decision to the Claude document before refreshing this copy, then export each tab as Markdown again (in a Claude session, the Claude Docs connector's `export` gives each tab's Markdown), replace the files, and run:
3232
3333```
3434git diff docs/spec # what changed in the doc
docs/compiler.md+2−2
@@ -18,7 +18,7 @@ The plan's Compiler architecture section gives the whole pipeline. Here it is sh
1818
1919- **One core, no Ford runes.** `urbit eval` runs the library as `=> <this file> <expression>`, and a ship builds it as `/lib/jibb.hoon`. So it can't import with `/-` or `/+`, and under `urbit eval` it can't scry. Anything from Clay, such as an imported module's text or a `/sur` file's type, is best passed in by the caller, which keeps every stage testable under eval.
2020- **The standard library is the subject.** Under `urbit eval`, as on a ship, the library is built against `..zuse`: `hoon.hoon`, lull and zuse. It reads literals with Hoon's own parser, `nuck:so`. Hoon's type engine, `ut`, is there for milestone 2, and under eval `ride` compiles Hoon source, such as a `/sur` file without Ford runes, into a type, which tests can use in place of Clay's builds.
21−- **The doc wins.** Where the file and the doc disagree, the doc is right, and the file's notes quote the doc's words for each rule they implement.
21+- **The spec wins.** Where the file and the spec disagree, the spec is right, and the file's notes quote its words for each rule they implement. The repository spec records the decision to drop `$?`, pending synchronization to the Claude document.
2222
2323## API
2424
@@ -68,7 +68,7 @@ Every node is `[%tag at=span …]`, so `+span-of` finds its span in one place; t
6868
6969- **Module**: imports (`%sur` for `/-`, `%mark` for `/%`, `%jibb` for `/=`), then definitions (`%mold` for `+$`, `%value` for `++`).
7070- **Expressions** (`expr`): `%lit`, `%str`, `%path`, `%qath`, `%wing`, `%change`, `%pair`, `%unit`, `%group`, `%list`, `%tuple`, `%gate-wide`, `%ctor`, `%call`, `%gate`, `%cast`, `%trace`, `%branch`, `%crash`, and `%body` for an indented body, with its local definitions if it has any.
71−- **Molds as written** (`shape`): `%aura`, `%noun`, `%void`, `%flag`, `%const`, `%ref`, `%tvar`, `%path`, `%apply`, `%cell`, `%union`, `%fn`, `%generic`.
71+- **Molds as written** (`shape`): `%aura`, `%noun`, `%void`, `%flag`, `%const`, `%ref`, `%tvar`, `%path`, `%apply`, `%cell`, `%union`, `%fn`, `%generic`. A `%union` spans its first through last case and has no lead token; a single case is its own mold. `%generic` spans from the `|$` after a `+$` name through its body.
7272- **Samples, fields and patterns**: a sample is `%bind`, `%face`, `%pun`, `%cell` or `%bare`, since a bare name binds anywhere in a sample; a pattern is `%lit`, `%str`, `%any`, `%bind` or `%cell`.
7373- **Literals** (`lit`) keep the form they matched, their aura and value, and their text as written, which the printers show.
7474
docs/open-questions.md+3−2
@@ -23,15 +23,16 @@ Found while writing [prompts/milestone-2.md](prompts/milestone-2.md) and checkin
2323
24241. **How the prelude declares natives.** The overview's Prelude section says the prelude is "written in Jibb and vendored as `/lib/jibb/prelude`", and that "Only the prelude declares natives, Jibb's jets, and private helpers". The Core language tab gives each native "a Jibb type, a Hoon gate in `/lib/jibb` … and a JavaScript function in the runtime". The Grammar has no syntax for declaring a native, so how does the prelude say that `add` is a native of type `$-([@ @] @)`?
25252. **How the prelude marks its private names.** Modules: "Everything is exported and read through the import's face, as `card.card`. Only the prelude has private names." The Grammar has no syntax for privacy either.
26−3. **What the prelude holds, and how much of it milestone 2 writes.** The Prelude table names groups and examples, "such as `(get.by m k)`", and for the data molds says "and the rest", so which names and types make up the prelude? Its list probably belongs in the doc. The plan's milestone 2 builds "the prelude's types", while the Decisions tab's Build order puts "the core prelude gates" in the same step. And which list gates are natives depends on the plan's first open question, "natives that take gates".
26+3. **What the prelude holds, and how much of it milestone 2 writes.** The Prelude table names groups and examples, "such as `(get.by m k)`", and for the data molds says "and the rest", so which names and types make up the prelude? Its list probably belongs in the doc. The plan's milestone 2 builds "the prelude's types", while the Decisions tab's Build order puts "the core prelude gates" in the same step. And which list gates are natives depends on the plan's first open question, "natives that take gates". The prelude must name every union its elements and attributes take, such as spaces, roles and tones; no module may use those names, since no name may shadow the prelude's.
27274. **Aura and type variables in a gate's molds.** Molds: "`add` takes `[@ @]` and returns `@`, all one aura" and "A bare `@` in a `+$` is one aura variable per module, `@ud` if unfixed." Is every bare `@` in one `++`'s molds, its samples and casts, the same aura variable, as in `add`'s type, or is each `@` its own, and is it generalized per `++` as type variables are? With it: must a capital stay general, so that `++ f |= x=A (add x 1)` is an error, or may its body fix it? Is a capital in a local `++` the enclosing `++`'s? And does a number's `@ud` default apply to an aura variable its `++` would generalize, which would make `++ inc |= n=@ (add n 1)` a `$-(@ud @ud)`?
28285. **Cells of no items or one.** The parser takes `[]` and `[a]` as tuples, as the EBNF's `"[" { item } "]"` allows, and leaves them to the checker. The Literals section may already answer it: "Every literal reads exactly as Hoon reads it", and its table lists Cell. Hoon reads `[a]` as `a` and rejects `[]`. The proposed reading is Hoon's. Whatever the answer, the theme's `dark=[tones=[…]]`, a record of one field, must still check.
29296. **A change with no items.** `m()` parses as a change with no edits, as `wing "(" { item } ")"` allows. Is it an error?
30307. **The doc's blocks that aren't whole modules.** The plan's "Done when" for milestone 2 says "the doc's examples typecheck, except those written as errors". Three `jibb` blocks need context to check. The overview's `cmd` and `sub` molds (`doc-overview-01-cmd-sub`) are what the Effects decision calls "the library unions", so in a module of their own they would shadow the prelude's. The Core language tab's `update` (`doc-core-02-update`) is a part of the todo list island. And the Grammar's imports (`doc-grammar-01-imports`) import `/sur/todo.hoon` and `/ui/components/card`, which the doc doesn't show, and the `%todo-action` mark, which the overview shows but which imports `/sur/todo.hoon` itself. The proposed reading is to check each in its context: the first as prelude source, the second inside the island, the third against fixture files.
31318. **Tuples and records.** Molds: "Faces are part of the type, so `[a=@ b=@]` and `[x=@ y=@]` don't unify", and a cell literal "takes a default when its `++` is checked", a tuple. Can a tuple meet a record? The doc's examples need it to: worked example 3's `init` gives `[ts "" ~]` for the `model` record, and the basket's `init` gives `[[~ %.n] ""]`; `row-of` gives `[id.t …]` where `each` takes `[key=* el=(element M)]`; `|=%typed` builds `[%typed t]` for the case `[%typed text=@t]`, which the Grammar calls "a case `[%typed @t]`"; and `program` and `store` can't know the faces of samples such as `[=msg m=model]` and `[a=cart-action s=state]`. The proposed reading: a position without a face unifies with one that has a face, and takes it; two different faces don't unify.
32329. **Values where `*` is expected.** Molds: "**Any noun**: `*`", with "no subtyping". `each` and `table` take `key=*`, and worked example 3 passes a `@ud` key. How does a typed value meet `*`? One reading: `*` in a gate's mold is a fresh type variable, so any value fits, and the rule against gates in keys comes from the core-language proposal.
33−10. **What `link`, `image` and `go` take.** Links and URLs: "`link`, `image` and `go` also take two kinds of unchecked cord", besides application paths, and `image`'s `src` is "an application path to a static image or `[url=@t width=@ud height=@ud]`". But the Effects block has `[%go url=@t]`, and a `$?` of a `qath` and a cord breaks the union rule, since "molds that can be either … overlap both" and the Core language tab lowers an application path to "A list of knots". `link` is in worked example 1. Two gates, or a type-directed rule listed in the Grammar ("No built-ins; type-directed rules are welcome, each listed in the Grammar tab")?
33+10. **What `link`, `image` and `go` take.** Links and URLs: "`link`, `image` and `go` also take two kinds of unchecked cord", besides application paths, and `image`'s `src` is "an application path to a static image or `[url=@t width=@ud height=@ud]`". But the Effects block has `[%go url=@t]`, and a union of a `qath` and a cord breaks the union rule, since "molds that can be either … overlap both" and the Core language tab lowers an application path to "A list of knots". `link` is in worked example 1. Two gates, or a type-directed rule listed in the Grammar ("No built-ins; type-directed rules are welcome, each listed in the Grammar tab")?
343411. **Stores and derived gates.** "`poke` and `paths` are declarations, not molds" in an API file; is a store's `+$ poke` one too, since as a mold it would shadow the prelude's opaque `poke`? How does the checker know a module is a store before it has checked `main`, whose type decides the kind? What may a derived name clash with, given that the doc's API file imports `/- todo` and has a `%todo` case whose request is `todo`? And since "islands can't watch paths that need a separate scry path", is watching a request whose case has `scry=` a type error?
35+12. **How to print a union without a name.** Jibb has no syntax for one, but Hoon imports bring them in, as in a field's `?(%approve %deny)`, `$@` and `$^`, and the fold of a `(facts full d1 d2)` request does too. How should messages and `types.txt` print them? @iko's decision calls for "a print-only notation".
3536
3637## Grammar questions never put to the doc's author
3738
docs/prompts/milestone-2.md+15−12
@@ -4,9 +4,9 @@ A brief for the developer who builds milestone 2 of Jibb. Paste it as the first
44
55---
66
7−You are building milestone 2 of Jibb, a UI language for Urbit: a Hoon dialect with an indentation layout. Its spec is @iko's design doc, [Jibb — an Elm-architecture UI language for Urbit](https://claude.ai/artifact/DMBr48qzi5z8hcwn2ccPBv), copied into `docs/spec/`. Milestone 1 built the layout pass and the parser in Hoon, in `jibb-dev/lib/jibb.hoon`. Milestone 2 adds the type checker, the imports, and the prelude.
7+You are building milestone 2 of Jibb, a UI language for Urbit: a Hoon dialect with an indentation layout. Its spec is @iko's design doc, [Jibb — an Elm-architecture UI language for Urbit](https://claude.ai/artifact/DMBr48qzi5z8hcwn2ccPBv), with its repository copy in `docs/spec/`; the repository records the decision to drop `$?` pending synchronization to the Claude document. Milestone 1 built the layout pass and the parser in Hoon, in `jibb-dev/lib/jibb.hoon`. Milestone 2 adds the type checker, the imports, and the prelude.
88
9−Before you start, check `docs/status.md`. If dropping `$?`, which @iko decided on 2026-10-30, isn't done yet, do it first, as [drop-union-rune.md](drop-union-rune.md) says: it changes the grammar this brief describes.
9+Before milestone 2, @iko decided on 2026-10-30 to drop `$?`. The change is described in [drop-union-rune.md](drop-union-rune.md); check `docs/status.md` for its completion.
1010
1111## Read first
1212
@@ -19,11 +19,11 @@ Before you start, check `docs/status.md`. If dropping `$?`, which @iko decided o
19197. `docs/compiler.md`, then the design notes at the top of `jibb-dev/lib/jibb.hoon` and its `%tree` chapter: the syntax tree you will check.
20208. `docs/open-questions.md`.
2121
22−Then set up the machine as `docs/development.md` says and run its checks. All 344 golden cases should pass before you change anything.
22+Then set up the machine as `docs/development.md` says and run its checks. All golden cases should pass before you change anything.
2323
2424## Ground rules
2525
26−- **The doc wins.** Where code and doc disagree, the doc stands until it changes. `docs/spec/` is a snapshot of 2026-10-30; check the doc itself before relying on a detail.
26+- **The spec wins.** Where code and spec disagree, the spec stands until it changes. `docs/spec/` records the decision to drop `$?`, which still needs synchronization to the Claude document; consult the document for other details as described in `docs/README.md`.
2727- **Don't decide the language.** A question about what Jibb means goes to @iko: as a comment on the doc, on the words it's about, if you can comment there, or else in the project's chat, where @iko reviews work. List it in `docs/open-questions.md` too. Meanwhile follow the most likely reading, mark it "(doc question)" in the library's notes, and keep going. A language change is agreed first and recorded in the Decisions tab.
2828- **No built-ins.** The Decisions tab's Special rules row: "No built-ins; type-directed rules are welcome, each listed in the Grammar tab". A typing rule the Grammar doesn't list, such as a special case for one gate, is a language change.
2929- **Implementation choices are yours**: data structures, algorithms, error wording within the doc's rules, test layout. Record the reasoning in the library's design notes, as milestone 1 did.
@@ -49,7 +49,7 @@ And from the plan's Risks:
4949
5050## First steps
5151
52−1. **Settle the open questions.** The checker needs answers the doc doesn't give yet. `docs/open-questions.md` lists eleven under "Questions milestone 2 raises", found by walking the doc's examples through its rules:
52+1. **Settle the open questions.** The checker needs answers the doc doesn't give yet. `docs/open-questions.md` lists twelve under "Questions milestone 2 raises", found by walking the doc's examples through its rules:
5353 1. how the prelude declares natives;
5454 2. how it marks private names;
5555 3. what the prelude holds, and whether milestone 2 writes "the prelude's types", as the plan says, or "the core prelude gates", as the Decisions tab's Build order says;
@@ -60,7 +60,8 @@ And from the plan's Risks:
6060 8. whether a tuple can meet a record, which worked example 3 needs;
6161 9. how a typed value meets `*`, as `each`'s `key=*` does;
6262 10. what `link`, `image` and `go` take;
63− 11. stores' `+$ poke`, derived-name clashes, and watching a `scry=` case.
63+ 11. stores' `+$ poke`, derived-name clashes, and watching a `scry=` case;
64+ 12. the print-only notation for unions without a name.
6465
6566 The plan's first open question matters too: whether `eq`'s arguments and map and set keys must be free of gates, and a gate may never tell a union's cases apart, which changes the disjointness check; whether natives may take gates, which decides whether `turn`, `sort` and `skim` are natives; and whether a value that depends on itself through a gate is an error. Put each to @iko in your first days with a proposed answer and the reason for it, and build on the proposal until you hear back.
66672. **Start the importer early**, as the plan's Risks ask: first on a small `/sur` file, then on Tlon's. "Suggested design" below has a way in.
@@ -76,7 +77,7 @@ The rules are scattered across the tabs. This is a map of them, not a replacemen
7677- Type variables are capitals, "generalized per `++`". Names "may refer to each other in any order", so infer `++` definitions in dependency order, a group of mutually recursive ones together.
7778- "Gates may call themselves and their siblings; other values can't refer to themselves, so `++ title (trim title)` is an error." Molds may be recursive, and "recursive molds go by name and module".
7879- A sample's mold may be left out: every bare name in a sample binds, at any depth, as in `|=(p title.p)` "when the call fixes the type", `|= [a=@ b]` and `|=(m ~)`.
79−- Generic molds: `+$ result |$ [V E] $?` with cases below, applied as `(result V E)`; the prelude's `cmd` and `sub` are `|$ [M]`.
80+- Generic molds: `+$ result |$ [V E]` with cases below, applied as `(result V E)`; `|$` goes right after a `+$`'s name, and the prelude's `cmd` and `sub` use `|$ [M]`.
8081- `!!` is the empty mold, and as an expression it has any type. `*` is any noun; how other types meet it is open question 9.
8182- `poke`, `ask` and `qath` are opaque, built only by derived gates, `pure` and application-path literals.
8283- The Literals table gives every other literal its type: `0x1f` a `@ux`, ships `@p`, dates `@da`, durations `@dr`, `~.knot` a `@ta`, strings `@t`, `` `x `` a `(unit A)`, `~[…]` a `(list A)`, `gap+%s2` the pair `[%gap %s2]`, `/posts/~zod` a `path`, `%/blog` a `qath`.
@@ -90,6 +91,7 @@ The rules are scattered across the tabs. This is a map of them, not a replacemen
9091- In `{…}`, atoms print by aura, a bare `@` as `@ud`; `@t`, `@ta`, `@tas` and tapes splice as text; "any other cell is an error asking for a printer". String literals are always cords.
9192
9293**Unions** (Grammar: Molds, Runes; Decisions: Unions)
94+- Every union written in Jibb is a named `+$` with its cases below. One case is just that mold; a mold that isn't a union counts as a union of one case for tags and `|=%tag`. Imported types can contain unnamed unions.
9395- Cases "must differ as nouns: at some position of their right-nested cells, one is an atom and the other a cell, or both are different constants. `*`, type variables and molds that can be either, such as `(list A)` or `?`, overlap both. A union whose cases don't all differ is rejected."
9496
9597**Patterns and `?-`** (Grammar: Patterns; Decisions: Branching, Binding patterns)
@@ -107,8 +109,8 @@ The rules are scattered across the tabs. This is a map of them, not a replacemen
107109- `main`'s type decides a module's kind: `(element !!)` a page, `(page R D)` a page with data, `(program D X M)` an island, `(store S)` a store; no `main`, a library.
108110
109111**Importing Hoon types** (overview: Importing Hoon types; Decisions: Hoon types)
110−- The table: `$%` and `$?` become `$?`; `$@` a `$?` with an atom case; `$^` a `$?` if its cases differ as nouns, else an error where used; `$~` dropped; `map`, `set`, `qeu`, `jar`, `jug` the same, by name; `mop` as `(mop K V)`, read with `on`; other `$|` their base type; `%0`, `%&` and `%|` tags; recursive molds recursive, matched by name; cores, gates, vases, signed and float auras an error where used.
111−- "Unused molds are skipped, so unsupported constructs elsewhere in a `/sur` file are fine."
112+- The table: `$%` and `$?` become a union; `$@` a union with an atom case; `$^` a union if its cases differ as nouns, else an error where used; `$~` dropped; `map`, `set`, `qeu`, `jar`, `jug` the same, by name; `mop` as `(mop K V)`, read with `on`; other `$|` their base type; `%0`, `%&` and `%|` tags; recursive molds recursive, matched by name; cores, gates, vases, signed and float auras an error where used.
113+- "Unused molds are skipped, so unsupported constructs elsewhere in a `/sur` file are fine." A field's unnamed union imports too, although Jibb cannot write one.
112114
113115**Islands, pages and stores** (overview: The Elm architecture on Urbit; Grammar: Modules and the store example)
114116- `(page load view)`, `(program init update view subs)` and `(store init update)` build the kinds. The worked examples show their gates' shapes: `update` takes `[msg model]` and gives a model and a list of `cmd`s, `subs` gives a list of `sub`s, a store's `update` takes a poke and the state.
@@ -129,6 +131,7 @@ The rules are scattered across the tabs. This is a map of them, not a replacemen
129131
130132**Errors**
131133- Each one the Grammar tab describes needs a golden case with its message. A start on the list: an aura mismatch; mismatched faces; "msg has no case %submitt"; an unresolved tag, as the Grammar's `add-button` ("nothing fixes the union of %add"); an open constraint at the end of a module; a `|=%tag` whose union has no such case tagged at its head; a union whose cases overlap; a missing `?-` case, named; an arm that earlier arms cover; a value that refers to itself; a shadowed name, including a prelude or imported one; a cell in `{…}` with no printer; `~[text "hi"]`, where the checker suggests `~[(text "hi")]`; clashing derived names; an import cycle; from an import, a signed or float aura, a core, gate or vase, or a `$^` whose cases don't differ as nouns, each where used; a `(facts …)` outside an API file's `paths`; a gate in island data or a model, naming the field; a repeated attribute in a literal list. Read the Grammar tab, and the other tabs' mentions of "error" and "the checker", and make the list complete.
134+- For a `+$` whose cases overlap or do not fit, suggest that a record or tuple leaves its `[` open on the `+$` line. `+$ pt` above `@t` and `[@ud @ud]` is a valid union.
132135- "Each error names both conflicting sites, with excerpts." Today's `error` is `[file line col msg]`, a start only; spans keep each node's end so that a type error can underline both sites.
133136- Messages name things in the doc's words and quote the code they're about in backticks, as milestone 1's do. Their wording is fixed by the golden tests once written.
134137
@@ -146,17 +149,17 @@ Suggestions, not rules; change them where you find better.
146149 `..zuse` is the subject a ship builds `/sur` files against, so molds from lull and zuse, such as `json` and `mark`, resolve. Each `+$` arm's type comes as a `%hold` whose expansion is a `%hint` with a `%made` note naming the arm, then the mold: a `$%` is a `%fork` of cells headed by `%tas` constants. A `(map id item)` field is named only in its arm's own `%hold`, whose Hoon calls `map` by name. Once the arm is expanded, the field is a `%hold` whose Hoon is the body of `map`, `(tree (pair key value))` with its `apt` check, which expands to a second `%hold`, `tree`'s body, and only then to a treap's `%fork`. So recognising maps, sets and the rest by name means reading an arm's Hoon before expanding it, or comparing a `%hold`'s Hoon with the standard library molds' own bodies. On a ship, `.^(vase %ca /=my-app=/sur/todo/hoon)` builds a `/sur` file, and a mark's type is its door's sample. Most of Tlon's `/sur` files begin with `/-` or `/+` (25 of the 40 in `tloncorp/tlon-apps`, `desk/sur`, on 2026-10-30), so under eval their imports must be resolved by hand; on the ship Clay does it.
147150- **Inference**: union-find over a map of variables, levels for generalization rather than scanning the environment, and a queue of deferred constraints, retried as variables are bound and reported when the module ends. Infer `++`s in strongly connected groups. Measure early: Hoon is slow, and a 2,000-line module should check in seconds, not minutes.
148151- **Exhaustiveness**: Maranget's "Warnings for pattern matching" (Journal of Functional Programming, 2007) fits nouns: constructors are constants and cells.
149−- **A type printer** in Jibb's mold syntax, for golden output and for messages.
152+- **A type printer** for golden output and messages. Use Jibb's mold syntax where possible; Jibb has no syntax for an unnamed union. Open question 12 asks for a print-only notation.
150153- **Mind two names.** The library's `+in`, a bit test, hides the standard library's set door `in`, and `+fail` hides Hoon's parser rule `fail`. Write `in:..zuse`, or rename `+in` before the checker uses sets.
151154
152155## Tests
153156
154−- **A third golden output.** Add the checker's output to `+golden`, say `types.txt`: each definition's type in Jibb syntax and the module's kind, or the rendered error. Teach `tools/golden`, `tools/ship gen-tests`, the stubs and self-tests in `tools/testdata`, README.md and `docs/development.md` about it, with an `expect:` form for the checker, then add it to the existing cases and review every one.
157+- **A third golden output.** Add the checker's output to `+golden`, say `types.txt`: each definition's type (using the print-only notation for unnamed unions once question 12 is settled) and the module's kind, or the rendered error. Teach `tools/golden`, `tools/ship gen-tests`, the stubs and self-tests in `tools/testdata`, README.md and `docs/development.md` about it, with an `expect:` form for the checker, then add it to the existing cases and review every one.
155158- **Cases with imports.** Six of the doc's fourteen `jibb` blocks import other modules, three of them `/sur` files or marks, and the Core language tab's `update` needs the todo API without importing it. Give a case a way to carry the files it imports, under eval and on the ship alike. A case also needs its own path under `/ui`: both runners pass the file as `/tests/golden/<case>/source/jibb`, but an API file is known by its path, `/ui/api/<agent>.jibb`, whose name is the agent its constructors poke.
156159- **Hoon files on the ship.** `tools/ship test` runs `-test` on the `jibb-dev` desk's `/tests`, which builds every `.hoon` file there as a test file. A fixture mark that starts `/- todo`, or one of Tlon's files, fails that build, and with it the run. Keep such files where `-test` won't build them, as `.txt` read with `/*`, or in a desk of their own, and keep them out of `jibb-dev/`, which app desks vendor, and `vendor/`, which goes into every desk.
157160- **Fixtures for the doc's examples.** `my-app/ui/` holds nine of the doc's blocks as modules. Add what they import that the doc doesn't show: `/sur/todo.hoon` and the marks `todo-action`, `todos`, `todo-update` and `todo-item` (the overview shows `/mar/todo-action.hoon`; `row-of` reads `id`, `done` and `text` from an item); `/sur/blog.hoon`, a mark for the posts, of type `(list post:blog)`, and `/ui/api/blog.jibb`, whose `posts` case names that type through `/%`; and `/ui/components/card.jibb`, with a `card` gate from a post to an element. Keep them as small as the examples allow, say in a comment at the top of each that it is a fixture and not from the doc, and don't change the doc's blocks.
158161- **Every doc example typechecks**, except the Grammar's buttons example, whose `add-button` is written as an error and must fail with it. The same block marks `labelled` and `wide` as fine, so show them checking too, by printing the definitions that check beside the error or in a case without `add-button`. Open question 7 proposes how to check the three blocks that aren't whole modules.
159−- **The `/sur` import.** A test `/sur` file with `$%`, `$@`, a map and a recursive mold, imported and printed in Jibb syntax, under eval and on the ship. Then Tlon's real files, as the risk asks: they need not import fully, but every mold a test uses must, and any error must be the table's.
162+- **The `/sur` import.** A test `/sur` file with `$%`, `$@`, a map and a recursive mold, imported and printed, using the print-only notation for unnamed unions when needed, under eval and on the ship. Then Tlon's real files, as the risk asks: they need not import fully, but every mold a test uses must, and any error must be the table's.
160163- **On the ship**: the golden cases as `-test` arms, and the `my-app` desk checked with its Hoon types read through Clay: every module checks except `ui/components/buttons.jibb`, which gives `add-button`'s error.
161164- **Speed**: time the corpus and the `my-app` desk, and record both in `docs/status.md`.
162165
docs/spec/decisions.md+2−2
@@ -8,7 +8,7 @@ The choices behind the Language tab, made on 2026-10-23; a later date marks a re
88
99| Decision | Choice | Status |
1010| --- | --- | --- |
11−| Syntax | Hoon's runes as keywords, and its literals; wide forms only for `\|=`, `$?` and `$-`; changes take record items, as `m(draft="x")`; `.` reads fields, imports and prelude groups; no name may shadow another | Decided 2026-10-29 |
11+| Syntax | Hoon's runes as keywords, and its literals; wide forms only for `\|=` and `$-`; changes take record items, as `m(draft="x")`; `.` reads fields, imports and prelude groups; no name may shadow another | Decided 2026-10-30 |
1212| Literals | Exactly Hoon's: `1000` is an error, `~2026.2.31` is `~2026.3.3`, and years BC and sub-second groups are dates; `print-date`'s minute form is not a literal | Decided 2026-10-30 |
1313| Numeric terms | `%` and a decimal as Hoon writes it: `%1.000`; `%1000` and `%007` are errors | Decided 2026-10-30 |
1414| Strings | Hoon's escapes: `\\`, `\"`, `\{`, and `\` with two lowercase hex digits; a string and each `{…}` close on the line they open; `::` in a string is text | Decided 2026-10-30 |
@@ -22,7 +22,7 @@ The choices behind the Language tab, made on 2026-10-23; a later date marks a re
2222| Several open brackets | The deeper lines go to the last bracket, or the last rune's body, left open on a line, and the brackets before it close with it: `(column ~ ~[` needs no `)` | Decided 2026-10-30 |
2323| Jibb code blocks | Labelled `jibb` in this doc; each is a golden test | Decided 2026-10-30 |
2424| Definitions | `++` for values, `+$` for molds; no `=/` | Decided |
25−| Unions | `$?` only; tags anywhere; cases differ as nouns; a tag literal or `~` waits for its union, and an unresolved one is an error | Decided 2026-10-29 |
25+| Unions | No `$?`: a `+$` with its cases on the lines below is a union, so every union written in Jibb has a name; one case is just that mold; a mold that isn't a union counts as a union of one case for tags and `\|=%tag`; a generic's `\|$` comes right after the `+$`'s name; tags anywhere; cases differ as nouns; a tag literal or `~` waits for its union, and an unresolved one is an error | Decided 2026-10-30 |
2626| Branching | `?-` only, loobeans included; exhaustive, with explicit catch-alls; covered arms are errors; failures say `!!` | Decided 2026-10-29 |
2727| Equality and negation | The gates `eq` and `not` | Decided |
2828| Special rules | No built-ins; type-directed rules are welcome, each listed in the Grammar tab | Decided 2026-10-29 |
docs/spec/grammar.md+15−17
@@ -9,7 +9,7 @@ The syntax the compiler accepts.
99- **Indentation is structure**: a deeper line continues the line above; returning to an earlier indentation closes every block since. Spaces only; blank and comment-only lines don't count.
1010- **Layout tokens**: a deeper line emits INDENT, the same depth NEWLINE, a shallower one a DEDENT per closed level, then NEWLINE.
1111- **Open brackets**: a bracket open at line end takes one item per deeper line and closes at the first line that isn't deeper, with no closer. Brackets opened and closed on one line work as usual. A mold's `[` and `(` open the same way, with one field or mold per deeper line. A line may leave several brackets open: the deeper lines go to the last one, or to the body of the last rune, and the others close with it, so `(column ~ ~[` above its items needs no `)`.
12−- **Tight forms**: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`.
12+- **Tight forms**: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`.
1313- **Spacing**: one space between items; more for alignment. That is style, which the formatter keeps: the parser takes one or more spaces between items, and allows spaces after an opener, before a closer and at the end of a line. Faces `name=value`, puns `=name` and typed path segments `[id=@ud]` take no spaces, and a rune is followed by one.
1414- **Comments**: `::` to the end of the line, outside strings; inside a string, `::` is text.
1515- **Names**: Hoon terms; lowercase letters, digits and hyphens, starting with a letter.
@@ -54,22 +54,21 @@ Every literal reads exactly as Hoon reads it: `1000` is an error (write `1.000`)
5454A rune's first children sit on its line, the last taking the rest of it; the others follow, indented.
5555
5656- `++` **luslus**: defines a value, at top level or as local names at the start of any body (a gate's, an arm's, a `^-`'s, a `~&`'s or a `++`'s), visible to each other and the final expression. Gates may call themselves and their siblings; other values can't refer to themselves, so `++ title (trim title)` is an error.
57−- `+$` **lusbuc**: defines a mold, likewise; molds may be recursive.
57+- `+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive.
5858- `|=` **bartis**: a gate with a faced sample, `m=model`, `=msg` (`msg=msg`) or `[a=@ b=@]`; the body on the same line or below.
59−- `$?` **bucwut**: a union, one case per line or `$?(%a %b)`; cases must differ as nouns.
6059- `?-` **wuthep**: the only branch, exhaustive; the subject on its line, then arms of a pattern and an expression or body. Conditions switch on `%.y` and `%.n`.
6160- `^-` **kethep**: a cast; the mold on its line, the expression after it or below.
6261- `~&` **sigpam**: prints the value on its line, then runs the body below; output goes to the ship's log or the browser's console.
6362- `!!` **zapzap**: a crash, an expression of any type; as a mold, the empty mold. It is an operand, so `f !!` and `~[!!]` need no parentheses.
6463- `$-` **buchep**: a gate's mold, `$-(sample product)`.
65−- `|$` **barbuc**: a generic mold, `|$ [A] mold`.
64+- `|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below.
6665
67−Only `|=`, `$?` and `$-` have wide forms: `|=(sample expr)`, `$?(case case)`, `$-(mold mold)`. Their children are operands, so calls inside need parentheses.
66+Only `|=` and `$-` have wide forms: `|=(sample expr)` and `$-(mold mold)`. Their children are operands, so calls inside need parentheses.
6867
6968Left out on purpose:
7069
7170- `|%`, `|_`, `|*`: modules are records.
72−- `$%`: `$?` covers unions.
71+- `$?`, `$%`: a union is a `+$` with its cases below.
7372- `?+`, `?:`: `?-` is the branch.
7473- `.=`, `?!`, `=(a b)`, `!x`: `eq` and `not` are gates.
7574- `=/`: `++` defines values.
@@ -124,18 +123,18 @@ A mold is only a type: never called on a noun, and with no default. Types are in
124123- **Atoms**: `@` and auras such as `@ud`, `@t`, `@p`, `@da`; `?` is a loobean. `@` is an atom whose aura isn't known yet, fixed by what it meets: `add` takes `[@ @]` and returns `@`, all one aura, so `(add n 1)` with `n=@ud` is a `@ud`. Different auras never unify. A bare `@` in a `+$` is one aura variable per module, `@ud` if unfixed.
125124- **Constants**: `%add`, `~` and the loobeans have one value each.
126125- **Records and tuples**: `[text=@t done=?]`, `[@t ?]`. Faces are part of the type, so `[a=@ b=@]` and `[x=@ y=@]` don't unify. A record too long for one line can leave its `[` open, with one field per deeper line, as an expression's bracket does.
127−- **Unions**: `$?`; tags take their union from context, as Tag resolution describes. Cases must differ as nouns: at some position of their right-nested cells, one is an atom and the other a cell, or both are different constants. `*`, type variables and molds that can be either, such as `(list A)` or `?`, overlap both. A union whose cases don't all differ is rejected.
126+- **Unions**: a `+$` with several cases below it. Every union written in Jibb has a name, so one used in a field, a sample, a cast, a gate's mold or an argument gets its own `+$`; only imports bring in unions without one. Tags take their union from context, as Tag resolution describes. Cases must differ as nouns: at some position of their right-nested cells, one is an atom and the other a cell, or both are different constants. `*`, type variables and molds that can be either, such as `(list A)` or `?`, overlap both. A union whose cases don't all differ is rejected.
128127- **Containers**: `(list A)`, `(unit A)`, `(set A)`, `(map K V)`, `(mop K V)`, `(qeu A)`, `(jar K V)`, `(jug K V)`.
129128- **Gates**: `$-(A B)`. Type variables are capitals, generalized per `++`.
130129- **Paths**: `/todos` is constant, `/` empty, and `/todo/[id=@ud]` typed by aura. `%/blog/(slug)` is an `qath`, checked against routes and static files.
131−- **Generic molds**: `+$ result |$ [V E] $?` with cases below.
130+- **Generic molds**: `+$ result |$ [V E]` with cases below; `|$` goes only right after a `+$`'s name.
132131- **Any noun**: `*`. **Empty**: `!!`.
133132- **Opaque**: `poke`, `ask` and `qath`, built only by derived gates, `pure` and application-path literals. `(facts full diff …)` appears only in an API file's `paths`.
134133- **Identity**: recursive molds go by name and module.
135134
136135## Tag resolution
137136
138−A tag literal or `~` gets a fresh type variable and a pending constraint: the variable must become a union with a matching case, or an atom type the term fits. Once unification fixes the variable, each constraint is checked against the union's cases or, for `@tas`, `@ta`, `@` or `*`, makes the tag that constant atom. A literal that matches nothing is an error naming the union, such as "msg has no case %submitt".
137+A tag literal or `~` gets a fresh type variable and a pending constraint: the variable must become a union with a matching case, or an atom type the term fits. A mold that isn't a union counts as a union of one case, for tags and for `|=%tag`: `[%go "x"]` fits `+$ go [%go url=@t]`, and `|=%typed` works against `$-(@t M)` when `M` is `[%typed text=@t]`. Once unification fixes the variable, each constraint is checked against the union's cases or, for `@tas`, `@ta`, `@` or `*`, makes the tag that constant atom. A literal that matches nothing is an error naming the union, such as "msg has no case %submitt".
139138
140139- A constraint records the literal's shape, such as `[@t %draft]`, and matches cases by shape and shared tag positions; a literal in a field position is checked against that field.
141140- `|=%typed` is a case's constructor: against `$-(@t M)` it is `|=(t [%typed t])`, requiring `M` to have a case `[%typed @t]`. It works for cases tagged at their head; a bare tag is always a value.
@@ -197,7 +196,7 @@ Arms are tried in order. Every case needs an arm or a catch-all, `*` or a bare n
197196Tags can sit anywhere in a case, and a case can carry several:
198197
199198```jibb
200−+$ step $?
199++$ step
201200 [%move %left n=@ud]
202201 [%move %right n=@ud]
203202 [text=@t %draft]
@@ -227,8 +226,10 @@ Leaving out `%stop` is an error naming it; to crash instead, write `%stop !!`.
227226
228227module = { import NEWLINE } { definition NEWLINE } ;
229228import = "/-" name | "/%" term | "/=" name pathlit ;
230−definition = "+$" name ( mold | INDENT mold DEDENT )
229+definition = "+$" name [ generic ] ( mold | cases )
231230 | "++" name ( expr | body ) ;
231+generic = "|$" "[" typevar { typevar } "]" ;
232+cases = INDENT mold { NEWLINE mold } DEDENT ; (* one case is that mold; more make a union *)
232233
233234body = INDENT { definition NEWLINE } expr DEDENT ;
234235expr = rune | call ;
@@ -261,10 +262,7 @@ mold = aura | "*" | "!!" | "?" | "~" | term | loobean | ref | typevar
261262 | pathmold
262263 | "(" ref mold { mold } ")" | "(" ref { mold } mlines
263264 | "[" field { field } "]" | "[" { field } flines
264− | "$?" INDENT mold { NEWLINE mold } DEDENT
265− | "$?(" mold { mold } ")"
266− | "$-(" mold mold ")"
267− | "|$" "[" typevar { typevar } "]" mold ;
265+ | "$-(" mold mold ")" ;
268266field = [ name "=" ] mold | "=" name ; (* =msg is msg=msg *)
269267mlines = INDENT mold { NEWLINE mold } DEDENT ; (* a mold's ( left open *)
270268flines = INDENT field { NEWLINE field } DEDENT ; (* a mold's [ left open *)
@@ -291,7 +289,7 @@ knot = { lower | digit | "-" | "." | "~" | "_" } ;
291289```jibb
292290:: /ui/stores/cart.jibb
293291+$ state [items=(list @t) open=?]
294−+$ cart-action $?
292++$ cart-action
295293 [%add item=@t]
296294 %toggle
297295+$ poke cart-action
@@ -311,7 +309,7 @@ knot = { lower | digit | "-" | "." | "~" | "_" } ;
311309++ main (program init update view subs)
312310
313311+$ model [cart=state.cart note=@t]
314−+$ msg $?
312++$ msg
315313 [%noted text=@t]
316314 %add
317315 %toggle
docs/spec/overview.md+8−8
@@ -63,9 +63,9 @@ Hoon's runes and literals in an indentation layout, over Hoon's nouns and molds,
6363
6464| Hoon | Jibb |
6565| --- | --- |
66−| `$%`, `$?` | `$?` |
67−| `$@` | `$?` with an atom case |
68−| `$^` | `$?` if its cases differ as nouns, else an error where used |
66+| `$%`, `$?` | A union |
67+| `$@` | A union with an atom case |
68+| `$^` | A union if its cases differ as nouns, else an error where used |
6969| `$~` | Dropped |
7070| `map`, `set`, `qeu`, `jar`, `jug` | The same, by name, checked with `apt` on arrival |
7171| `mop` | `(mop K V)`, read with `on` |
@@ -74,7 +74,7 @@ Hoon's runes and literals in an indentation layout, over Hoon's nouns and molds,
7474| Recursive molds, such as `json` | Recursive, matched by name |
7575| Cores, gates, vases, signed and float auras | An error where used |
7676
77−Unused molds are skipped, so unsupported constructs elsewhere in a `/sur` file are fine.
77+Unused molds are skipped, so unsupported constructs elsewhere in a `/sur` file are fine. A union without a name, as a field's `?(%approve %deny)`, imports too, though Jibb can't write one.
7878
7979## Prelude
8080
@@ -138,13 +138,13 @@ Loads and renders run in Nock.
138138**Effects.** Commands and subscriptions are library values:
139139
140140```jibb
141−+$ cmd |$ [M] $?
141++$ cmd |$ [M]
142142 [%poke p=poke reply=$-((unit @t) M)]
143143 [%go url=@t]
144144 [%wait gap=@dr msg=M]
145145 [%now reply=$-(@da M)]
146146 [%who reply=$-(@p M)]
147−+$ sub |$ [M] $?
147++$ sub |$ [M]
148148 [%watch a=(ask M)]
149149 [%every gap=@dr reply=$-(@da M)]
150150 [%url reply=$-(path M)]
@@ -290,7 +290,7 @@ Each agent Jibb talks to has `/ui/api/<agent>.jibb`, declaring its pokes in `+$
290290
291291+$ item item.todo
292292+$ poke todo-action
293−+$ paths $?
293++$ paths
294294 [%todos /todos todos]
295295 [%changes /changes (facts todos todo-update)]
296296 [%todo /todo/[id=@ud] todo-item]
@@ -453,7 +453,7 @@ A `page`: each request scries `%blog` and renders in Nock.
453453++ main (program init update view subs)
454454
455455+$ model [todos=(list item.todo) draft=@t error=(unit @t)]
456−+$ msg $?
456++$ msg
457457 [%typed text=@t]
458458 %submit
459459 [%toggled id=@ud]
docs/status.md+5−4
@@ -15,7 +15,7 @@ As of 2026-10-30, at commit ab797a9. The plan is [spec/implementation-plan.md](s
1515
1616The plan sets no dates: "agree them after milestone 1, once it shows how fast the Hoon work goes". They haven't been agreed yet. Milestone 1's commits run from 2026-10-29 18:13 UTC to 2026-10-30 11:50 UTC.
1717
18−Decided on 2026-10-30 and not done yet: Jibb drops `$?`, so a `+$` takes a union's cases on the lines below its name. The doc, the parser and the tests still have `$?`. [prompts/drop-union-rune.md](prompts/drop-union-rune.md) briefs the change, which comes before milestone 2.
18+On 2026-10-30, @iko decided that Jibb drops `$?`, so a `+$` takes a union's cases on the lines below its name. [prompts/drop-union-rune.md](prompts/drop-union-rune.md) records the change before milestone 2. The repository spec records the decision; the Claude document still needs to be synchronized.
1919
2020## Milestone 1: parser and mark
2121
@@ -33,7 +33,7 @@ What the plan asks for, and where it is:
3333
3434Besides the plan's list:
3535
36−- 344 golden cases: 152 that parse and 192 that fail, each failure at a stated line and column. Each case's `about.txt` quotes the doc's words it tests.
36+- 368 golden cases: 153 that parse and 215 that fail, each failure at a stated line and column. One failing case has an unclear expectation (corpus question 3). Each case's `about.txt` quotes the doc's words it tests.
3737- They pass under `urbit eval` (`tools/golden`, about 9 s for the corpus) and as `-test` arms on the fake ship (`tools/ship test`).
3838- `tools/testdata/selftest` (18 checks) and `tools/testdata/ship-selftest` test the tools themselves.
3939- Two independent audits before 7c739b7, one of which compared the library with a reference parser written in Python from the doc over about 19,000 generated programs. Before ab797a9, a second Python parser, written from the decisions, agreed with the library on 8,000 generated programs and 900 hand-written probes.
@@ -49,19 +49,20 @@ Besides the plan's list:
4949| 7c739b7 | 2026-10-30 | Fixes from two independent audits; milestone 1 done |
5050| 5a4aa73 | 2026-10-30 | `tools/doc-blocks`, after the doc labelled its Jibb blocks |
5151| ab797a9 | 2026-10-30 | The 12 grammar decisions of 2026-10-30: four changed the parser, eight confirmed it |
52+| This change | 2026-10-30 | Drop `$?`; `+$` takes union cases below its name |
5253
5354## Checking it
5455
5556On a machine set up as [development.md](development.md) says:
5657
5758```
58−tools/golden # 344 cases under urbit eval
59+tools/golden # 368 cases under urbit eval
5960tools/hoon check-spans-test # prints <<>> when the span checker works
6061tools/testdata/selftest # the tools themselves
6162tools/doc-blocks docs/spec # the doc's examples are golden cases
6263tools/ship start
6364tools/ship gen-tests --check # tests/lib/jibb.hoon is up to date
64−tools/ship test # the same 344 cases as -test arms on the ship
65+tools/ship test # the same 368 cases as -test arms on the ship
6566tools/testdata/ship-selftest
6667tools/ship check-commit # |commit stores .jibb files
6768```
jibb-dev/lib/jibb.hoon+137−101
@@ -50,7 +50,7 @@
5050:: so does editor tooling later. A node starts at its first token and
5151:: ends where its last token ends: its closing token if it has one, else
5252:: its last child's last token, never a layout token. So an open
53−:: bracket, a body, ?-'s arms and $?'s cases end with their last line's
53+:: bracket, a body, ?-'s arms and a +$'s cases end with their last line's
5454:: code, not at the line that closes them. Every node's span holds its
5555:: children's spans, in source order. The printed tree shows starts
5656:: only, and milestone 1's errors use starts only, so ends are first
@@ -143,7 +143,7 @@
143143:: The layout pass knows nothing of brackets: it emits INDENT, NEWLINE and
144144:: DEDENT by column alone. The parser decides what takes an indented
145145:: block: a bracket left open at the end of its line, a rune's body, ?-'s
146−:: arms, $?'s cases, a +$ mold on the next line. A bracket opened and
146+:: arms, and a +$'s cases on the next lines. A bracket opened and
147147:: closed on one line is just tokens.
148148::
149149:: 2.6 Tokens. After the indentation, tokens are read left to right;
@@ -193,7 +193,7 @@
193193:: / glyph, then a path segment may follow (2.7)
194194:: ++ +$ + glyphs
195195:: |=( |= |$ glyphs
196−:: $?( $? $-( glyphs; $- followed by anything but ( is an error
196+:: $-( glyph; $- followed by anything but ( is an error
197197:: at 3rd, "`$-` has only the wide form `$-(sample
198198:: product)`"
199199:: ^- ?- !! ? glyphs (? alone is the loobean mold; ? then a
@@ -217,7 +217,7 @@
217217:: at it, "this `}` closes no `{`"
218218:: | $ ^ followed by nothing above or in the table below:
219219:: an error at 2nd, "`|` begins `|=`, `|=(` or `|$`",
220−:: "`$` begins `$?`, `$?(` or `$-(`", "`^` begins `^-`"
220+:: "`$` begins `$-(`", "`^` begins `^-`"
221221:: : followed by anything but :, an error at 2nd: the
222222:: table's :~ :* :- :+ :^ :_ and a:b, else "a comment
223223:: starts with `::`"
@@ -239,7 +239,7 @@
239239:: |- 2nd gates recurse by name
240240:: $( 2nd gates recurse by name (at the $ where an
241241:: expression goes, as no expression starts $)
242−:: $% 2nd $? covers unions
242+:: $? $% 2nd a union is a +$ with its cases below
243243:: ?: ?+ 2nd ?- is the branch, and so for Hoon's other ?
244244:: runes, ?~ ?= ?. ?@ ?^ ?& ?| ?< ?> (?:: is ?
245245:: and a comment)
@@ -432,6 +432,12 @@
432432:: 100.000 such calls, 8 s of it starting urbit and building the
433433:: library, and most of the rest printing the tree, 46 MB at 100.000.
434434::
435+:: @iko decided 2026-10-30 (Decisions): "No `$?`: a `+$` with its cases
436+:: on the lines below is a union, so every union written in Jibb has a
437+:: name; one case is just that mold; a mold that isn't a union counts as
438+:: a union of one case for tags and `|=%tag`; a generic's `|$` comes right
439+:: after the `+$`'s name; tags anywhere".
440+::
435441:: The EBNF and its nodes (see the types below):
436442:: module { import NEWLINE } { definition NEWLINE }, then the end
437443:: of the tokens; an import after a definition is the error
@@ -441,9 +447,10 @@
441447:: %& or %| (doc question). /='s path has a segment, as it
442448:: names a module's file: /= card / is an error just past
443449:: the / (doc question)
444−:: definition +$ name mold, or the mold alone on a deeper line ->
445−:: %mold (both layouts give one node); ++ name expr or body
446−:: -> %value (a body becomes a %body expr)
450+:: definition +$ name, optional |$ [vars], then a mold on its line or
451+:: cases below -> %mold; one case is that mold, several
452+:: are %union. The optional generic wraps either in %generic.
453+:: ++ name expr or body -> %value (a body becomes a %body expr)
447454:: body INDENT { definition NEWLINE } expr DEDENT -> %body
448455:: call one operand is that operand; more -> %call head args
449456:: operand literal -> %lit or %str; pathlit -> %path, as a path
@@ -472,14 +479,14 @@
472479:: cell sample at any depth, as b in |= [a=@ b], which is
473480:: a %cell of samples (Decisions: every bare name in a
474481:: sample binds, at any depth). A name inside a mold, as a
475−:: in (list a), $-(a b) or $?(a b), is a mold. A cell
482+:: in (list a) or $-(a b), is a mold. A cell
476483:: sample's [ has no open form, as a cell pattern's hasn't
477484:: (Decisions)
478485:: mold aura -> %aura; * -> %noun; !! -> %void; ? -> %flag;
479486:: ~ term loobean -> %const; ref -> %ref; typevar -> %tvar;
480487:: pathmold -> %path; ( ref mold … ) -> %apply; [ field … ]
481−:: -> %cell; $? with cases below, and $?( … ) -> %union;
482−:: $-( mold mold ) -> %fn; |$ [ typevar … ] mold -> %generic.
488+:: -> %cell; $-( mold mold ) -> %fn. Only a +$ definition
489+:: introduces %union or %generic.
483490:: A mold's ( and [ may be left open at the end of their
484491:: line, as an expression's brackets can (Decisions):
485492:: ( ref { mold } mlines -> %apply, the name staying on
@@ -490,7 +497,7 @@
490497:: deeper line, which may itself open, to the DEDENT; a
491498:: second item on a line, or a closer, is an error. The
492499:: node is the closed form's, ending with its last item.
493−:: $?( and $-( have no open form: $? covers long unions
500+:: $-( has no open form.
494501:: field name=mold -> %face; =name -> %pun; mold -> %bare
495502:: pattern term number ship loobean ~ -> %lit (dates, durations and
496503:: knots are errors); string without {…} -> %str; * -> %any;
@@ -520,11 +527,11 @@
520527:: holds for every bracket before the last, whether or not it has
521528:: an open form of its own, as the Decisions say "the brackets
522529:: before it close with it": an expression's ( [ and ~[, a change's
523−:: (, |=(, a mold's ( [ $?( and $-(, an application path's (…), and
530+:: (, |=(, a mold's ( [ and $-(, an application path's (…), and
524531:: a cell sample's [. A segment's ( holds an expression as an
525532:: expression's ( does and needs only its ), so %/a/(f ~[ above its
526−:: items is %/a/(f ~[…]), as $?( and $-(, which have no open form
527−:: either, close so; a sample's [ that closes so leaves its gate no
533+:: items is %/a/(f ~[…]), as $-(, which has no open form
534+:: either, closes so; a sample's [ that closes so leaves its gate no
528535:: body. A cell pattern's [ and |$'s [ hold no other bracket, and
529536:: an interpolation's {…} closes on its line (2.9). A rune's body
530537:: or arms that took the lines close the brackets before the rune
@@ -537,9 +544,8 @@
537544:: the line (Errors below). A mold's ( never needs more than its )
538545:: once it holds its name: one that is the last opener on its line
539546:: takes the deeper lines as its open form (Decisions), and one
540−:: before a later opener, or before a $? with its cases below,
541−:: holds that mold after its name, so it closes with it: (map $?
542−:: above its cases is (map $?(…)).
547+:: before a later opener holds that mold after its name and closes
548+:: with it.
543549:: - Local definitions: at the start of any body, a gate's, an arm's,
544550:: a ^-'s, a ~&'s or a ++'s, as the EBNF's body takes them
545551:: (Decisions); +$ as well as ++, as the Runes prose's "likewise"
@@ -553,14 +559,14 @@
553559:: lines, fields and samples), =name (pun); in a path or application
554560:: path, each / and the segment after it, and all of a typed segment,
555561:: [id=@ud]
556−:: - either way: right after an opener ( [ ~[ |=( $?( $-( or {, and
562+:: - either way: right after an opener ( [ ~[ |=( $-( or {, and
557563:: right before a closer ) ] or } (the theme example writes `[ space=`),
558564:: the ( and ) of an application path's segment included; inside
559565:: them the expression is spaced as anywhere else, as %/x/(f a)
560566:: A missing space is an error at the tight token, and a space inside
561567:: a tight form, or the end of the line there, is one where it starts
562568:: (Errors). A rune with children, and an import glyph, is followed by
563−:: a space (or, for $? with its cases below, the end of the line).
569+:: a space.
564570:: Items are separated by one or more spaces; how many isn't checked,
565571:: and a line may end in spaces. Spacing beyond this is style, which
566572:: the formatter keeps: "one space between items; more for alignment"
@@ -603,17 +609,15 @@
603609:: whatever line comes next: at the end of that line, just past its
604610:: last token, "found the end of the line" (+fail-line), as no later
605611:: line can supply it. That is a rune's part on its line (|='s
606−:: sample, ^-'s mold, ~&'s value, ?-'s subject, |$'s [ and mold), a
612+:: sample, ^-'s mold, ~&'s value, ?-'s subject, |$'s [), a
607613:: name after ++ or +$, an import's parts, and what a bracket that
608−:: closes on its line still needs: one with no open form ($?( $-(
614+:: closes on its line still needs: one with no open form ($-(
609615:: |=(, a cell sample's or cell pattern's [, |$'s [, an application
610616:: path's (…), a ( before a rune), or a mold's ( before its name,
611617:: which stays on the first line (Decisions); the bracket adds "this
612618:: bracket closes on its line" (+unclosed-want). So `++ x ^-` above
613619:: a deeper line fails at 1:8, "expected a mold, found the end of the
614−:: line", and `+$ x $?(%a` above ` %b` at 1:11, "expected `)` to
615−:: close the `$?(` at 1:6, found the end of the line; this bracket
616−:: closes on its line". Spaces and a comment after the last token
620+:: line". Spaces and a comment after the last token
617621:: emit nothing (2.3, 2.6), so they don't move the end of the line:
618622:: `++ x ^- :: c` fails at 1:8 too. At the end of the file the place
619623:: is the same, and the message says "the end of the file".
@@ -663,7 +667,7 @@
663667:: found `M`". A bracket that closes on its line names, at a closer that
664668:: doesn't match or at its line's end, what it still needs: its closer
665669:: once it holds all it needs, else its next part, as `$-(@)` and `$-(@]`
666−:: are "expected a mold, the product", `$?(]` and `$-(]` "expected a
670+:: are "expected a mold, the product", and `$-(]` "expected a
667671:: mold", `|=(]` and `|= []` "expected a sample", `|=(a]` "expected the
668672:: gate's body" (+unclosed-want). So does a group's ( with nothing after
669673:: it on its line, as () is no group: `()` and `(]` are "expected an
@@ -767,7 +771,7 @@
767771:: (apply 2:17 list (aura 2:23 @t)))
768772:: (face 2:27 open (flag 2:32))))
769773:: (mold 3:1 cart-action
770−:: (union 3:16
774+:: (union 4:3
771775:: (cell 4:3
772776:: (const 4:4 %add)
773777:: (face 4:9 item (aura 4:14 @t)))
@@ -863,11 +867,11 @@
863867+$ glyph
864868 $? %indent %dedent %newline :: layout
865869 %'(' %')' %'[' %']' :: brackets
866− %'~[' %'|=(' %'$?(' %'$-(' :: openers
870+ %'~[' %'|=(' %'$-(' :: openers
867871 %'%/' %'/' :: paths
868872 %'+' %'`' %'=' :: pair, unit, face
869873 %'*' %'?' :: noun, loobean mold
870− %'++' %'+$' %'|=' %'|$' %'$?' :: runes
874+ %'++' %'+$' %'|=' %'|$' :: runes
871875 %'^-' %'~&' %'?-' %'!!' :: runes
872876 %'/-' %'/%' %'/=' :: imports
873877 ==
@@ -1011,9 +1015,9 @@
10111015 [%path at=span segs=(list pseg)] :: / /todos /todo/[id=@ud]
10121016 [%apply at=span ref=(list term) args=(list shape)] :: (list @t)
10131017 [%cell at=span fields=(list field)] :: [text=@t done=?]
1014− [%union at=span cases=(list shape)] :: $? below, or $?(%a %b)
1018+ [%union at=span cases=(list shape)] :: several +$ cases below
10151019 [%fn at=span sample=shape product=shape] :: $-(@t M)
1016− [%generic at=span vars=(list @t) body=shape] :: |$ [M] $? …
1020+ [%generic at=span vars=(list @t) body=shape] :: +$ name |$ [M] …
10171021 ==
10181022::
10191023:: +pseg: a path mold's segment, a knot or [name=aura]
@@ -1313,14 +1317,14 @@
13131317 ?: =('-' b) (err +(col) "`|-` is left out: gates recurse by name")
13141318 (err +(col) "`|` begins `|=`, `|=(` or `|$`")
13151319 ?: =('$' a)
1316− ?: &(=('?' b) =('(' c)) (emit 3 %'$?(')
1317− ?: =('?' b) (emit 2 %'$?')
1320+ ?: =('?' b)
1321+ (err +(col) "`$?` is left out: a union is a `+$` with its cases below")
13181322 ?: &(=('-' b) =('(' c)) (emit 3 %'$-(')
13191323 ?: =('-' b)
13201324 (err (add 2 col) "`$-` has only the wide form `$-(sample product)`")
13211325 ?: =('(' b) (err +(col) "`$(…)` is left out: gates recurse by name")
1322− ?: =('%' b) (err +(col) "`$%` is left out: `$?` covers unions")
1323− (err +(col) "`$` begins `$?`, `$?(` or `$-(`")
1326+ ?: =('%' b) (err +(col) "`$%` is left out: a union is a `+$` with its cases below")
1327+ (err +(col) "`$` begins `$-(`")
13241328 ?: =('^' a)
13251329 ?: =('-' b) (emit 2 %'^-')
13261330 (err +(col) "`^` begins `^-`")
@@ -1661,14 +1665,15 @@
16611665:: What may begin each place the parser reads (section 3, Errors):
16621666:: an expression a-z 0-9 " ( [ ~ % / ` | ^ ? !
16631667:: an operand a-z 0-9 " ( [ ~ % / ` | !
1664−:: a mold a-z A-Z @ * ! ? ~ % / ( [ $ |
1668+:: a mold a-z A-Z @ * ! ? ~ % / ( [ $
16651669:: a pattern a-z 0-9 " ~ % * [
16661670:: and what may go tight after an operand: . ( + = after a name, a
16671671:: closer ) ] }, or the : of a comment
16681672::
16691673++ expr-mask 0x57ff.ffff.4800.0000.83ff.8126.0000.0000
16701674++ operand-mask 0x57ff.ffff.0800.0000.03ff.8126.0000.0000
1671−++ mold-mask 0x57ff.fffe.0fff.ffff.8000.8532.0000.0000
1675+++ mold-mask 0x47ff.fffe.0fff.ffff.8000.8532.0000.0000
1676+++ bar-mask 0x1000.0000.0000.0000.0000.0000.0000.0000
16721677++ pattern-mask 0x47ff.fffe.0800.0000.03ff.0424.0000.0000
16731678++ after-mask 0x2000.0000.2000.0000.2400.4b00.0000.0000
16741679++ plus-mask 0x800.0000.0000 :: +
@@ -3005,7 +3010,7 @@
30053010 =* u i.ts
30063011 ?: =(at.u at.t) |(?=(~ open) !i.open)
30073012 ?: (is-layout u) $(ts t.ts, open ~)
3008− ?: ?=(?(%'(' %'[' %'~[' %'|=(' %'$?(' %'$-(') lex.u)
3013+ ?: ?=(?(%'(' %'[' %'~[' %'|=(' %'$-(') lex.u)
30093014 $(ts t.ts, open [& open])
30103015 ?: ?=([%str-head *] lex.u) $(ts t.ts, open [| open])
30113016 ?: ?=([%str-mid *] lex.u) $(ts t.ts, open [| ?~(open ~ t.open)])
@@ -3089,7 +3094,7 @@
30893094 (bad-space i.rest nex "a path segment")
30903095 ::
30913096 :: +read-def: ++ name, then an expression or a body; +$ name, then a
3092− :: mold on its line or alone on a deeper one. can is what may begin
3097+ :: mold on its line or cases on deeper lines. can is what may begin
30933098 :: a line where a definition goes (+fail-in).
30943099 ::
30953100 ++ read-def
@@ -3111,20 +3116,64 @@
31113116 (bad-in-why ts want can "`+` begins `++` or `+$`")
31123117 ?. =(%'+$' lex.rune) (bad-in ts want can)
31133118 ;< [nam=term after=(list token)] then (read-def-name rune t.ts)
3114− ?: ?=([[* * %indent] *] after)
3115− ;< [s=shape more=(list token)] then (read-mold t.after)
3116− ?: ?=([[* * %dedent] *] more)
3117− [%& [%mold [beg.at.rune end:(span-of s)] nam s] t.more]
3118− ?. ?=([[* * %newline] *] more) (bad-end-in more 0)
3119− %^ bad-why more "the end of the mold"
3120− "a `+$` takes one mold; a union is `$?` with its cases below"
3121− ?: ?=([[* * ?(%newline %dedent)] *] after)
3122− (bad after "a mold, on its line or a deeper one")
31233119 ?: &(?=(^ after) tight.i.after)
31243120 (no-gap after "a space after the name")
3125− ;< [s=shape more=(list token)] then (read-mold after)
3121+ ?: ?=([[* * [%error *]] *] after)
3122+ (bad-in after "a mold" (con mold-mask bar-mask))
3123+ ?: ?=([[* * ?(%'|=' %'|=(')] *] after)
3124+ %: bad-in-why after "a mold" (con mold-mask bar-mask)
3125+ "a gate's mold is $-(sample product)"
3126+ ==
3127+ ;< [s=shape more=(list token)] then
3128+ ?: ?=([[* * %'|$'] *] after)
3129+ (read-generic i.after t.after)
3130+ (read-def-body after)
31263131 [%& [%mold [beg.at.rune end:(span-of s)] nam s] more]
31273132 ::
3133+ :: +hoon-union: a tight ( immediately after a ? mold
3134+ ::
3135+ ++ hoon-union
3136+ |= [ts=(list token) after=(list token)]
3137+ ^- ?
3138+ ?. ?=([[* %& %'('] *] after) |
3139+ |- ^- ?
3140+ ?~ ts |
3141+ ?: =(t.ts after) =(%'?' lex.i.ts)
3142+ $(ts t.ts)
3143+ ::
3144+ :: +read-def-body: one mold on the definition line or its cases below
3145+ ::
3146+ ++ read-def-body
3147+ |= ts=(list token)
3148+ ^- (pare shape)
3149+ ?. ?=([[* * %indent] *] ts)
3150+ ?: ?=([[* * ?(%newline %dedent)] *] ts)
3151+ (bad ts "a mold, on its line or a deeper one")
3152+ ;< [s=shape more=(list token)] then (read-mold ts)
3153+ ?: (hoon-union ts more)
3154+ (bad-why more "the end of the line" "a union is a `+$` with its cases below")
3155+ ?: ?=([[* * %indent] *] more)
3156+ %^ bad-why more "the end of the line"
3157+ "a `+$` takes one mold on its line or its cases below, not both"
3158+ [%& s more]
3159+ =| cs=(list shape)
3160+ =/ rest=(list token) t.ts
3161+ |- ^- (pare shape)
3162+ ;< [c=shape after=(list token)] then (read-mold rest)
3163+ ?: (hoon-union rest after)
3164+ (bad-why after "the end of the line" "a union is a `+$` with its cases below")
3165+ ?: ?=([[* * %newline] *] after) $(cs [c cs], rest t.after)
3166+ ?: ?=([[* * %dedent] *] after)
3167+ ?~ cs [%& c t.after]
3168+ =/ cases=(list shape) (flop [c cs])
3169+ [%& [%union [beg:(span-of (rear cs)) end:(span-of c)] cases] t.after]
3170+ ?: ?=([[* * %'='] *] after)
3171+ %^ bad-why after "the end of the line"
3172+ "a `+$`'s lines below are its cases; a record's fields go in a [ left open on the `+$` line"
3173+ ?: ?=([[* * %indent] *] after) (bad-end after)
3174+ ?: &(?=(^ after) (stray i.after)) (bad-end after)
3175+ (bad-why after "the end of the line" "a union takes one case per line")
3176+ ::
31283177 :: +read-def-name: after ++ or +$, a space and a name
31293178 ::
31303179 ++ read-def-name
@@ -3530,6 +3579,8 @@
35303579 ?: &(?=(^ ts) |((is-closer i.ts) (is-layout i.ts)))
35313580 (unclosed-want "a sample" ts)
35323581 ;< [s=sample after=(list token)] then (read-sample ts)
3582+ ?: (hoon-union ts after)
3583+ (bad-why after "a space after the sample" "a union is a `+$` with its cases below")
35333584 ?: &(?=(^ after) |((is-closer i.after) (is-layout i.after)))
35343585 =/ dm (doomed ts after "the gate's body")
35353586 ?^ dm u.dm
@@ -3560,6 +3611,8 @@
35603611 ?: =('%' (first-char i.ts)) (bad-in ts "a term" cen-mask)
35613612 (no-gap ts "a space after `|=`")
35623613 ;< [s=sample after=(list token)] then (read-sample ts)
3614+ ?: (hoon-union ts after)
3615+ (bad-why after "a space after the sample" "a union is a `+$` with its cases below")
35633616 =/ dm (doomed ts after "an expression, or a body on deeper lines")
35643617 ?^ dm u.dm
35653618 ;< [e=expr more=(list token)] then
@@ -3573,6 +3626,8 @@
35733626 ^- (pare expr)
35743627 ?: &(?=(^ ts) tight.i.ts) (wide-rune "^-" ts)
35753628 ;< [s=shape after=(list token)] then (read-mold ts)
3629+ ?: (hoon-union ts after)
3630+ (bad-why after "a space after the mold" "a union is a `+$` with its cases below")
35763631 =/ dm (doomed ts after "an expression, or a body on deeper lines")
35773632 ?^ dm u.dm
35783633 ;< [e=expr more=(list token)] then
@@ -3730,6 +3785,8 @@
37303785 (unclosed op "]" rest)
37313786 ?: &(?=(^ ss) ?=(^ rest) tight.i.rest) (no-space rest)
37323787 ;< [s=sample after=(list token)] then (read-sample rest)
3788+ ?: (hoon-union rest after)
3789+ (bad-why after "a space between items" "a union is a `+$` with its cases below")
37333790 $(ss [s ss], rest after)
37343791 ::
37353792 :: +read-field: a cell mold's field: name=mold, =name, or a mold
@@ -3784,10 +3841,10 @@
37843841 %'/' (read-pathmold t t.ts)
37853842 %'(' (read-apply t t.ts)
37863843 %'[' (read-cell-mold t t.ts)
3787− %'$?' (read-union t t.ts)
3788− %'$?(' (read-union-wide t t.ts)
37893844 %'$-(' (read-fn t t.ts)
3790− %'|$' (read-generic t t.ts)
3845+ %'|$' %: bad-in-why ts "a mold" mold-mask
3846+ "`|$` goes right after a `+$`'s name, as in +$ result |$ [V E]"
3847+ ==
37913848 ::
37923849 ?(%'|=' %'|=(')
37933850 %: bad-in-why ts "a mold" mold-mask
@@ -3800,33 +3857,33 @@
38003857 [%& [%const at.t p.lex.t] t.ts]
38013858 ==
38023859 ::
3803− :: +read-molds: molds to the ) of the bracket op opened, at least one,
3804− :: or to the line that isn't deeper when the last one took the deeper
3805− :: lines (+shut). After an apply's name, each follows a space and the
3806− :: ( may be left open, with one mold per deeper line (mlines); a $?(
3807− :: takes its first mold tight and has no open form.
3860+ :: +read-molds: molds after an application name, to its ) or its last
3861+ :: mold's deeper lines (+shut). Each follows a space; ( may be left
3862+ :: open, with one mold per deeper line (mlines).
38083863 ::
38093864 ++ read-molds
3810− |= [op=token apply=? ts=(list token)]
3865+ |= [op=token ts=(list token)]
38113866 ^- (pare [(list shape) loc])
38123867 =| ms=(list shape)
38133868 |- ^- (pare [(list shape) loc])
38143869 ?: ?=([[* * %')'] *] ts)
38153870 ?~ ms (bad ts "a mold")
38163871 [%& [(flop ms) end.at.i.ts] t.ts]
3817− ?: &(apply ?=([[* * %indent] *] ts))
3872+ ?: ?=([[* * %indent] *] ts)
38183873 ;< [ls=(list shape) more=(list token)] then (read-mlines t.ts)
38193874 =/ every=(list shape) (weld (flop ms) ls)
38203875 [%& [every ?~(every end.at.op end:(span-of (rear every)))] more]
38213876 ?: (shut op ?~(ms ~ `(span-of i.ms)) ts)
38223877 [%& [(flop ms) ?~(ms end.at.op end:(span-of i.ms))] ts]
3823− ?: &(apply ?=([[* * ?(%newline %dedent)] *] ts))
3878+ ?: ?=([[* * ?(%newline %dedent)] *] ts)
38243879 (unclosed-open op ")" "a mold" ts)
38253880 ?: &(?=(^ ts) |((is-closer i.ts) (is-layout i.ts)))
38263881 ?~ ms (unclosed-want "a mold" ts)
38273882 (unclosed op ")" ts)
3828− ?: &(?=(^ ts) tight.i.ts |(apply ?=(^ ms))) (no-space ts)
3883+ ?: &(?=(^ ts) tight.i.ts) (no-space ts)
38293884 ;< [m=shape after=(list token)] then (read-mold ts)
3885+ ?: (hoon-union ts after)
3886+ (bad-why after "a space between items" "a union is a `+$` with its cases below")
38303887 $(ms [m ms], ts after)
38313888 ::
38323889 :: +read-apply: ( ref mold { mold } ), or ( ref { mold } and its
@@ -3842,19 +3899,9 @@
38423899 ==
38433900 ?. ?=([[* * ?([%name *] [%wing *])] *] ts) (bad-in ts want lower-mask)
38443901 ;< [[ms=(list shape) fin=loc] after=(list token)] then
3845− (read-molds op & t.ts)
3902+ (read-molds op t.ts)
38463903 [%& [%apply [beg.at.op fin] (names-of lex.i.ts) ms] after]
38473904 ::
3848− :: +read-union-wide: $?( mold { mold } ), closed on its line or with
3849− :: its last case's lines (+read-molds)
3850− ::
3851− ++ read-union-wide
3852− |= [op=token ts=(list token)]
3853− ^- (pare shape)
3854− ;< [[ms=(list shape) fin=loc] after=(list token)] then
3855− (read-molds op | ts)
3856− [%& [%union [beg.at.op fin] ms] after]
3857− ::
38583905 :: +read-fn: $-( mold mold ), closed on its line, or with the product
38593906 :: when that took the deeper lines (+shut); a sample that took them
38603907 :: leaves it no product (+doomed)
@@ -3865,6 +3912,8 @@
38653912 ?: &(?=(^ ts) |((is-closer i.ts) (is-layout i.ts)))
38663913 (unclosed-want "a mold" ts)
38673914 ;< [a=shape after=(list token)] then (read-mold ts)
3915+ ?: (hoon-union ts after)
3916+ (bad-why after "a space between items" "a union is a `+$` with its cases below")
38683917 =/ want=tape "a mold, the product"
38693918 ?: &(?=(^ after) |((is-closer i.after) (is-layout i.after)))
38703919 =/ dm (doomed ts after want)
@@ -3872,6 +3921,8 @@
38723921 (unclosed-want want after)
38733922 ?: &(?=(^ after) tight.i.after) (no-space after)
38743923 ;< [b=shape more=(list token)] then (read-mold after)
3924+ ?: (hoon-union after more)
3925+ (bad-why more "a space between items" "a union is a `+$` with its cases below")
38753926 ?: ?=([[* * %')'] *] more)
38763927 [%& [%fn [beg.at.op end.at.i.more] a b] t.more]
38773928 ?: (shut op `(span-of b) more)
@@ -3903,6 +3954,8 @@
39033954 (unclosed op "]" ts)
39043955 ?: &(?=(^ fs) ?=(^ ts) tight.i.ts) (no-space ts)
39053956 ;< [f=field after=(list token)] then (read-field ts)
3957+ ?: (hoon-union ts after)
3958+ (bad-why after "a space between items" "a union is a `+$` with its cases below")
39063959 $(fs [f fs], ts after)
39073960 ::
39083961 :: +read-mlines: after a mold's open ('s INDENT, one mold per line, to
@@ -3916,6 +3969,8 @@
39163969 =/ cf (closer-first ts "a mold")
39173970 ?^ cf u.cf
39183971 ;< [m=shape after=(list token)] then (read-mold ts)
3972+ ?: (hoon-union ts after)
3973+ (bad-why after "the end of the line" "a union is a `+$` with its cases below")
39193974 ?: ?=([[* * %newline] *] after) $(ms [m ms], ts t.after)
39203975 ?: ?=([[* * %dedent] *] after) [%& (flop [m ms]) t.after]
39213976 (mold-line-end after "mold")
@@ -3931,6 +3986,8 @@
39313986 =/ cf (closer-first ts "a field")
39323987 ?^ cf u.cf
39333988 ;< [f=field after=(list token)] then (read-field ts)
3989+ ?: (hoon-union ts after)
3990+ (bad-why after "the end of the line" "a union is a `+$` with its cases below")
39343991 ?: ?=([[* * %newline] *] after) $(fs [f fs], ts t.after)
39353992 ?: ?=([[* * %dedent] *] after) [%& (flop [f fs]) t.after]
39363993 (mold-line-end after "field")
@@ -3947,28 +4004,7 @@
39474004 %^ bad-why ts "the end of the line"
39484005 "a bracket open at the end of its line takes one {noun} per line"
39494006 ::
3950− :: +read-union: $?, then its cases below, one mold per line
3951− ::
3952− ++ read-union
3953− |= [buc=token ts=(list token)]
3954− ^- (pare shape)
3955− ?. ?=([[* * %indent] *] ts)
3956− ?: ?=([[* * ?(%newline %dedent)] *] ts)
3957− (bad ts "`$?`'s cases on deeper lines")
3958− %^ bad-why ts "the end of the line"
3959− "`$?` takes its cases on deeper lines, one per line, or write $?(%a %b)"
3960− =| cs=(list shape)
3961− =/ rest=(list token) t.ts
3962− |- ^- (pare shape)
3963− ;< [c=shape after=(list token)] then (read-mold rest)
3964− ?: ?=([[* * %newline] *] after) $(cs [c cs], rest t.after)
3965− ?: ?=([[* * %dedent] *] after)
3966− [%& [%union [beg.at.buc end:(span-of c)] (flop [c cs])] t.after]
3967− ?: ?=([[* * %indent] *] after) (bad-end after)
3968− ?: &(?=(^ after) (stray i.after)) (bad-end after)
3969− (bad-why after "the end of the line" "a union takes one case per line")
3970− ::
3971− :: +read-generic: |$ [ typevar { typevar } ] mold
4007+ :: +read-generic: |$ [ typevar { typevar } ], then a definition body
39724008 ::
39734009 ++ read-generic
39744010 |= [bar=token ts=(list token)]
@@ -3984,7 +4020,7 @@
39844020 ?~ vs (bad rest "a type variable")
39854021 =/ more=(list token) t.rest
39864022 ?: &(?=(^ more) tight.i.more) (no-gap more "a space after `]`")
3987− ;< [b=shape after=(list token)] then (read-mold more)
4023+ ;< [b=shape after=(list token)] then (read-def-body more)
39884024 [%& [%generic [beg.at.bar end:(span-of b)] (flop vs) b] after]
39894025 ?: &(?=(^ rest) |((is-closer i.rest) (is-layout i.rest)))
39904026 ?~ vs (unclosed-want "a type variable" rest)
@@ -4065,7 +4101,7 @@
40654101:: %two where the token after its first ends: |=%got, =msg, /- todo
40664102:: %shut at the closer of its first token, an opener closed on its
40674103:: line; or with its last child, if that opener is left open
4068−:: or is a rune, as $? with its cases below
4104+:: or is a rune with its body below
40694105:: %shut2 likewise from the token after its first, a change's (
40704106:: %run at the end of the path it starts: then each tight / and
40714107:: knot, and each tight [ or ( to its closer; or with its
@@ -4128,7 +4164,7 @@
41284164 ?: |(?=(~ t.toks) (is-layout i.t.toks)) ~
41294165 `[beg.at.i.t.toks tight.i.t.toks]
41304166 =. info (~(put by info) beg.at.t [k end.at.t nex])
4131− ?: ?=(?(%'(' %'[' %'~[' %'|=(' %'$?(' %'$-(' %str-head) k)
4167+ ?: ?=(?(%'(' %'[' %'~[' %'|=(' %'$-(' %str-head) k)
41324168 $(toks t.toks, open [beg.at.t open])
41334169 ?. ?=(?(%')' %']' %str-mid %str-tail) k) $(toks t.toks)
41344170 ?~ open $(toks t.toks)
@@ -4436,7 +4472,7 @@
44364472 ::
44374473 %union
44384474 =/ ks=(list outline) (turn cases.s outline-shape)
4439− [%union at.s ~[%'$?' %'$?('] %shut ks]
4475+ [%union at.s ~ %kid ks]
44404476 ::
44414477 %fn
44424478 =/ ks=(list outline)
@@ -4477,12 +4513,12 @@
44774513 ['++ x ~[\0a (f a)\0a++ y 1' ~[[%call [2 4] [2 4] [2 8]]]]
44784514 :: a literal running on to the next one's end
44794515 ['++ x f 1 2' ~[[%lit [1 8] [1 8] [1 11]]]]
4480− :: a path, a string, a change and a wide union cut short
4516+ :: a path, a string, a change and a union cut short
44814517 ['++ x f /a/b c' ~[[%path [1 8] [1 8] [1 10]]]]
44824518 ['++ x f "a{b}c" d' ~[[%str [1 8] [1 8] [1 13]]]]
44834519 ['++ x m(a=1) b' ~[[%change [1 6] [1 6] [1 11]]]]
4484− :- '+$ x $?(%a %b)'
4485− ~[[%union [1 6] [1 6] [1 14]] [%mold [1 1] [1 1] [1 14]]]
4520+ :- '+$ x\0a %a\0a %b'
4521+ ~[[%union [2 3] [2 3] [2 5]] [%mold [1 1] [1 1] [2 5]]]
44864522 :: a mold's cell before its closer, a typed segment past its own
44874523 :- '+$ x [a=[@ @] b=@]'
44884524 ~[[%cell [1 9] [1 9] [1 13]] [%face [1 7] [1 7] [1 13]]]
my-app/ui/api/todo.jibb+1−1
@@ -7,7 +7,7 @@
77
88+$ item item.todo
99+$ poke todo-action
10−+$ paths $?
10++$ paths
1111 [%todos /todos todos]
1212 [%changes /changes (facts todos todo-update)]
1313 [%todo /todo/[id=@ud] todo-item]
my-app/ui/basket.jibb+1−1
@@ -4,7 +4,7 @@
44++ main (program init update view subs)
55
66+$ model [cart=state.cart note=@t]
7−+$ msg $?
7++$ msg
88 [%noted text=@t]
99 %add
1010 %toggle
my-app/ui/stores/cart.jibb+1−1
@@ -1,6 +1,6 @@
11:: /ui/stores/cart.jibb
22+$ state [items=(list @t) open=?]
3−+$ cart-action $?
3++$ cart-action
44 [%add item=@t]
55 %toggle
66+$ poke cart-action
my-app/ui/todo-list.jibb+1−1
@@ -3,7 +3,7 @@
33++ main (program init update view subs)
44
55+$ model [todos=(list item.todo) draft=@t error=(unit @t)]
6−+$ msg $?
6++$ msg
77 [%typed text=@t]
88 %submit
99 [%toggled id=@ud]
tests/golden/doc-grammar-04-step/about.txt+1−1
@@ -1,3 +1,3 @@
11source: Grammar tab, section "Patterns", code block 4 of the tab
2−tests: a union `+$ step $?` with one case per deeper line: cells with tags at the head, in the middle and at the end, faced fields, and a bare term; a blank line between definitions; a `?-` whose arms are cell patterns mixing tags and binding names, and a bare term, with their expressions aligned by extra spaces; interpolated strings and a name as arm expressions
2+tests: a union `+$ step` with one case per deeper line: cells with tags at the head, in the middle and at the end, faced fields, and a bare term; a blank line between definitions; a `?-` whose arms are cell patterns mixing tags and binding names, and a bare term, with their expressions aligned by extra spaces; interpolated strings and a name as arm expressions
33expect: parses
tests/golden/doc-grammar-04-step/source.jibb+1−1
@@ -1,4 +1,4 @@
1−+$ step $?
1++$ step
22 [%move %left n=@ud]
33 [%move %right n=@ud]
44 [text=@t %draft]
tests/golden/doc-grammar-04-step/tokens.txt−1
@@ -1,6 +1,5 @@
111:1 glyph +$
221:4 name step
3−1:9 glyph $?
432:3 INDENT
542:3 glyph [
652:4 tight lit %move
tests/golden/doc-grammar-04-step/tree.txt+1−1
@@ -1,6 +1,6 @@
11(module
22 (mold 1:1 step
3− (union 1:9
3+ (union 2:3
44 (cell 2:3
55 (const 2:4 %move)
66 (const 2:10 %left)
tests/golden/doc-grammar-06-cart-store/source.jibb+1−1
@@ -1,6 +1,6 @@
11:: /ui/stores/cart.jibb
22+$ state [items=(list @t) open=?]
3−+$ cart-action $?
3++$ cart-action
44 [%add item=@t]
55 %toggle
66+$ poke cart-action
tests/golden/doc-grammar-06-cart-store/tokens.txt−1
@@ -14,7 +14,6 @@
14143:1 NEWLINE
15153:1 glyph +$
16163:4 name cart-action
17−3:16 glyph $?
18174:3 INDENT
19184:3 glyph [
20194:4 tight lit %add
tests/golden/doc-grammar-06-cart-store/tree.txt+1−1
@@ -5,7 +5,7 @@
55 (apply 2:17 list (aura 2:23 @t)))
66 (face 2:27 open (flag 2:32))))
77 (mold 3:1 cart-action
8− (union 3:16
8+ (union 4:3
99 (cell 4:3
1010 (const 4:4 %add)
1111 (face 4:9 item (aura 4:14 @t)))
tests/golden/doc-grammar-07-basket/source.jibb+1−1
@@ -4,7 +4,7 @@
44++ main (program init update view subs)
55
66+$ model [cart=state.cart note=@t]
7−+$ msg $?
7++$ msg
88 [%noted text=@t]
99 %add
1010 %toggle
tests/golden/doc-grammar-07-basket/tokens.txt−1
@@ -30,7 +30,6 @@
30307:1 NEWLINE
31317:1 glyph +$
32327:4 name msg
33−7:8 glyph $?
34338:3 INDENT
35348:3 glyph [
36358:4 tight lit %noted
tests/golden/doc-grammar-07-basket/tree.txt+1−1
@@ -8,7 +8,7 @@
88 (face 6:11 cart (ref 6:16 state.cart))
99 (face 6:27 note (aura 6:32 @t))))
1010 (mold 7:1 msg
11− (union 7:8
11+ (union 8:3
1212 (cell 8:3
1313 (const 8:4 %noted)
1414 (face 8:11 text (aura 8:16 @t)))
tests/golden/doc-overview-01-cmd-sub/about.txt+1−1
@@ -1,3 +1,3 @@
11source: the first tab ("Jibb — an Elm-architecture UI language for Urbit"), section "The Elm architecture on Urbit", Effects, code block 1 of the tab
2−tests: generic molds `+$ cmd |$ [M] $?` and `+$ sub |$ [M] $?` whose unions have their cases on the deeper lines; cell molds with faced fields whose molds are names, auras, type variables, a mold application `(ask M)`, and gate molds `$-((unit @t) M)`, `$-(@da M)`, `$-(@p M)` and `$-(path M)`
2+tests: generic molds `+$ cmd |$ [M]` and `+$ sub |$ [M]` whose unions have their cases on the deeper lines; cell molds with faced fields whose molds are names, auras, type variables, a mold application `(ask M)`, and gate molds `$-((unit @t) M)`, `$-(@da M)`, `$-(@p M)` and `$-(path M)`
33expect: parses
tests/golden/doc-overview-01-cmd-sub/source.jibb+2−2
@@ -1,10 +1,10 @@
1−+$ cmd |$ [M] $?
1++$ cmd |$ [M]
22 [%poke p=poke reply=$-((unit @t) M)]
33 [%go url=@t]
44 [%wait gap=@dr msg=M]
55 [%now reply=$-(@da M)]
66 [%who reply=$-(@p M)]
7−+$ sub |$ [M] $?
7++$ sub |$ [M]
88 [%watch a=(ask M)]
99 [%every gap=@dr reply=$-(@da M)]
1010 [%url reply=$-(path M)]
tests/golden/doc-overview-01-cmd-sub/tokens.txt−2
@@ -4,7 +4,6 @@
441:11 glyph [
551:12 tight tvar M
661:13 tight glyph ]
7−1:15 glyph $?
872:3 INDENT
982:3 glyph [
1092:4 tight lit %poke
@@ -66,7 +65,6 @@
66657:11 glyph [
67667:12 tight tvar M
68677:13 tight glyph ]
69−7:15 glyph $?
70688:3 INDENT
71698:3 glyph [
72708:4 tight lit %watch
tests/golden/doc-overview-01-cmd-sub/tree.txt+2−2
@@ -1,7 +1,7 @@
11(module
22 (mold 1:1 cmd
33 (generic 1:8 M
4− (union 1:15
4+ (union 2:3
55 (cell 2:3
66 (const 2:4 %poke)
77 (face 2:10 p (ref 2:12 poke))
@@ -26,7 +26,7 @@
2626 (fn 6:15 (aura 6:18 @p) (tvar 6:21 M)))))))
2727 (mold 7:1 sub
2828 (generic 7:8 M
29− (union 7:15
29+ (union 8:3
3030 (cell 8:3
3131 (const 8:4 %watch)
3232 (face 8:11 a
tests/golden/doc-overview-04-todo-api/source.jibb+1−1
@@ -7,7 +7,7 @@
77
88+$ item item.todo
99+$ poke todo-action
10−+$ paths $?
10++$ paths
1111 [%todos /todos todos]
1212 [%changes /changes (facts todos todo-update)]
1313 [%todo /todo/[id=@ud] todo-item]
tests/golden/doc-overview-04-todo-api/tokens.txt−1
@@ -23,7 +23,6 @@
232310:1 NEWLINE
242410:1 glyph +$
252510:4 name paths
26−10:10 glyph $?
272611:3 INDENT
282711:3 glyph [
292811:4 tight lit %todos
tests/golden/doc-overview-04-todo-api/tree.txt+1−1
@@ -7,7 +7,7 @@
77 (mold 8:1 item (ref 8:9 item.todo))
88 (mold 9:1 poke (ref 9:9 todo-action))
99 (mold 10:1 paths
10− (union 10:10
10+ (union 11:3
1111 (cell 11:3 (const 11:4 %todos) (path 11:11 /todos) (ref 11:18 todos))
1212 (cell 12:3
1313 (const 12:4 %changes)
tests/golden/doc-overview-10-todo-list/source.jibb+1−1
@@ -3,7 +3,7 @@
33++ main (program init update view subs)
44
55+$ model [todos=(list item.todo) draft=@t error=(unit @t)]
6−+$ msg $?
6++$ msg
77 [%typed text=@t]
88 %submit
99 [%toggled id=@ud]
tests/golden/doc-overview-10-todo-list/tokens.txt−1
@@ -39,7 +39,6 @@
39396:1 NEWLINE
40406:1 glyph +$
41416:4 name msg
42−6:8 glyph $?
43427:3 INDENT
44437:3 glyph [
45447:4 tight lit %typed
tests/golden/doc-overview-10-todo-list/tree.txt+1−1
@@ -11,7 +11,7 @@
1111 (face 5:43 error
1212 (apply 5:49 unit (aura 5:55 @t)))))
1313 (mold 6:1 msg
14− (union 6:8
14+ (union 7:3
1515 (cell 7:3
1616 (const 7:4 %typed)
1717 (face 7:11 text (aura 7:16 @t)))
tests/golden/inline-gate-after-definition-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: `|=` immediately after a definition name, where `|$` may begin
3+expect: error at 1:7 — `|` could begin `|$`, but `=` cannot continue it
tests/golden/inline-gate-after-definition-bad/source.jibbnew file+1
@@ -0,0 +1 @@
1++$ x |=
tests/golden/inline-gate-after-definition-bad/tokens.txtnew file+4
@@ -0,0 +1,4 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 glyph |=
4+1:8 NEWLINE
tests/golden/inline-gate-after-definition-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-gate-after-definition-bad/source.jibb:1:7: expected a mold, found `|=`; a gate's mold is $-(sample product)
2++$ x |=
3+ ^
tests/golden/inline-gate-field-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: `|=` where a field mold goes
3+expect: error at 1:9 — a mold cannot begin with `|`
tests/golden/inline-gate-field-bad/source.jibbnew file+1
@@ -0,0 +1 @@
1++$ x [a=|=]
tests/golden/inline-gate-field-bad/tokens.txtnew file+8
@@ -0,0 +1,8 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 glyph [
4+1:7 tight name a
5+1:8 tight glyph =
6+1:9 tight glyph |=
7+1:11 tight glyph ]
8+1:12 NEWLINE
tests/golden/inline-gate-field-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-gate-field-bad/source.jibb:1:9: expected a mold, found `|=`; a gate's mold is $-(sample product)
2++$ x [a=|=]
3+ ^
tests/golden/inline-generic-apply-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: `|$` in a mold application
3+expect: error at 1:12 — `|$` goes right after a `+$` name
tests/golden/inline-generic-apply-bad/source.jibbnew file+1
@@ -0,0 +1 @@
1++$ x (list |$ [A] A)
tests/golden/inline-generic-apply-bad/tokens.txtnew file+11
@@ -0,0 +1,11 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 glyph (
4+1:7 tight name list
5+1:12 glyph |$
6+1:15 glyph [
7+1:16 tight tvar A
8+1:17 tight glyph ]
9+1:19 tvar A
10+1:20 tight glyph )
11+1:21 NEWLINE
tests/golden/inline-generic-apply-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-generic-apply-bad/source.jibb:1:12: expected a mold, found `|$`; `|$` goes right after a `+$`'s name, as in +$ result |$ [V E]
2++$ x (list |$ [A] A)
3+ ^
tests/golden/inline-generic-both-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: a generic mold on the definition line and cases below
3+expect: error at 2:3 — a `+$` takes one mold on its line or its cases below, not both
tests/golden/inline-generic-both-bad/source.jibbnew file+3
@@ -0,0 +1,3 @@
1++$ x |$ [A] A
2+ %a
3+ %b
tests/golden/inline-generic-both-bad/tokens.txtnew file+13
@@ -0,0 +1,13 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 glyph |$
4+1:9 glyph [
5+1:10 tight tvar A
6+1:11 tight glyph ]
7+1:13 tvar A
8+2:3 INDENT
9+2:3 lit %a
10+3:3 NEWLINE
11+3:3 lit %b
12+3:5 DEDENT
13+3:5 NEWLINE
tests/golden/inline-generic-both-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-generic-both-bad/source.jibb:2:3: expected the end of the line, found a deeper line; a `+$` takes one mold on its line or its cases below, not both
2+ %a
3+ ^
tests/golden/inline-generic-case-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: `|$` on the line below a bare `+$`
3+expect: error at 2:3 — `|$` goes right after a `+$` name
tests/golden/inline-generic-case-bad/source.jibbnew file+2
@@ -0,0 +1,2 @@
1++$ x
2+ |$ [A] A
tests/golden/inline-generic-case-bad/tokens.txtnew file+10
@@ -0,0 +1,10 @@
1+1:1 glyph +$
2+1:4 name x
3+2:3 INDENT
4+2:3 glyph |$
5+2:6 glyph [
6+2:7 tight tvar A
7+2:8 tight glyph ]
8+2:10 tvar A
9+2:11 DEDENT
10+2:11 NEWLINE
tests/golden/inline-generic-case-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-generic-case-bad/source.jibb:2:3: expected a mold, found `|$`; `|$` goes right after a `+$`'s name, as in +$ result |$ [V E]
2+ |$ [A] A
3+ ^
tests/golden/inline-generic-cast-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: `|$` in a cast mold
3+expect: error at 1:9 — `|$` goes right after a `+$` name
tests/golden/inline-generic-cast-bad/source.jibbnew file+1
@@ -0,0 +1 @@
1+++ f ^- |$ [A] A 5
tests/golden/inline-generic-cast-bad/tokens.txtnew file+10
@@ -0,0 +1,10 @@
1+1:1 glyph ++
2+1:4 name f
3+1:6 glyph ^-
4+1:9 glyph |$
5+1:12 glyph [
6+1:13 tight tvar A
7+1:14 tight glyph ]
8+1:16 tvar A
9+1:18 lit 5
10+1:19 NEWLINE
tests/golden/inline-generic-cast-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-generic-cast-bad/source.jibb:1:9: expected a mold, found `|$`; `|$` goes right after a `+$`'s name, as in +$ result |$ [V E]
2+++ f ^- |$ [A] A 5
3+ ^
tests/golden/inline-generic-empty-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: a generic definition with no body below its type variables
3+expect: error at 2:1 — the generic body can follow on a deeper line
tests/golden/inline-generic-empty-bad/source.jibbnew file+2
@@ -0,0 +1,2 @@
1++$ x |$ [A]
2++$ y @
tests/golden/inline-generic-empty-bad/tokens.txtnew file+11
@@ -0,0 +1,11 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 glyph |$
4+1:9 glyph [
5+1:10 tight tvar A
6+1:11 tight glyph ]
7+2:1 NEWLINE
8+2:1 glyph +$
9+2:4 name y
10+2:6 aura @
11+2:7 NEWLINE
tests/golden/inline-generic-empty-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-generic-empty-bad/source.jibb:2:1: expected a mold, on its line or a deeper one, found a line at the same depth
2++$ y @
3+^
tests/golden/inline-generic-field-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: `|$` in a field mold
3+expect: error at 1:9 — `|$` goes right after a `+$` name
tests/golden/inline-generic-field-bad/source.jibbnew file+1
@@ -0,0 +1 @@
1++$ x [a=|$ [A] A]
tests/golden/inline-generic-field-bad/tokens.txtnew file+12
@@ -0,0 +1,12 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 glyph [
4+1:7 tight name a
5+1:8 tight glyph =
6+1:9 tight glyph |$
7+1:12 glyph [
8+1:13 tight tvar A
9+1:14 tight glyph ]
10+1:16 tvar A
11+1:17 tight glyph ]
12+1:18 NEWLINE
tests/golden/inline-generic-field-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-generic-field-bad/source.jibb:1:9: expected a mold, found `|$`; `|$` goes right after a `+$`'s name, as in +$ result |$ [V E]
2++$ x [a=|$ [A] A]
3+ ^
tests/golden/inline-generic-mold/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes: "`|$` barbuc: a generic mold, `|$ [A] mold`."
1+source: Grammar tab, Runes: "`|$` barbuc: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
22tests: a generic mold of one type variable
33expect: parses
tests/golden/inline-generic-prefix-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: `|%` where an optional generic can follow a definition name
3+expect: error at 1:7 — `|` could begin `|$`, but `%` cannot continue it
tests/golden/inline-generic-prefix-bad/source.jibbnew file+1
@@ -0,0 +1 @@
1++$ x |%
tests/golden/inline-generic-prefix-bad/tokens.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-generic-prefix-bad/source.jibb:1:7: `|%` is left out: modules are records
2++$ x |%
3+ ^
tests/golden/inline-generic-prefix-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-generic-prefix-bad/source.jibb:1:7: `|%` is left out: modules are records
2++$ x |%
3+ ^
tests/golden/inline-hoon-union-apply-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: Hoon union syntax in a mold application
3+expect: error at 1:13 — a union is a `+$` with its cases below
tests/golden/inline-hoon-union-apply-bad/source.jibbnew file+1
@@ -0,0 +1 @@
1++$ x (list ?(%a %b))
tests/golden/inline-hoon-union-apply-bad/tokens.txtnew file+11
@@ -0,0 +1,11 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 glyph (
4+1:7 tight name list
5+1:12 glyph ?
6+1:13 tight glyph (
7+1:14 tight lit %a
8+1:17 lit %b
9+1:19 tight glyph )
10+1:20 tight glyph )
11+1:21 NEWLINE
tests/golden/inline-hoon-union-apply-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-hoon-union-apply-bad/source.jibb:1:13: expected a space between items, found `(`; a union is a `+$` with its cases below
2++$ x (list ?(%a %b))
3+ ^
tests/golden/inline-hoon-union-cast-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: Hoon union syntax in a cast mold
3+expect: error at 1:10 — a union is a `+$` with its cases below
tests/golden/inline-hoon-union-cast-bad/source.jibbnew file+1
@@ -0,0 +1 @@
1+++ f ^- ?(%a %b) %a
tests/golden/inline-hoon-union-cast-bad/tokens.txtnew file+10
@@ -0,0 +1,10 @@
1+1:1 glyph ++
2+1:4 name f
3+1:6 glyph ^-
4+1:9 glyph ?
5+1:10 tight glyph (
6+1:11 tight lit %a
7+1:14 lit %b
8+1:16 tight glyph )
9+1:18 lit %a
10+1:20 NEWLINE
tests/golden/inline-hoon-union-cast-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-hoon-union-cast-bad/source.jibb:1:10: expected a space after the mold, found `(`; a union is a `+$` with its cases below
2+++ f ^- ?(%a %b) %a
3+ ^
tests/golden/inline-hoon-union-definition-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: Hoon union syntax after a definition name
3+expect: error at 1:7 — a union is a `+$` with its cases below
tests/golden/inline-hoon-union-definition-bad/source.jibbnew file+1
@@ -0,0 +1 @@
1++$ x ?(%a %b)
tests/golden/inline-hoon-union-definition-bad/tokens.txtnew file+8
@@ -0,0 +1,8 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 glyph ?
4+1:7 tight glyph (
5+1:8 tight lit %a
6+1:11 lit %b
7+1:13 tight glyph )
8+1:14 NEWLINE
tests/golden/inline-hoon-union-definition-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-hoon-union-definition-bad/source.jibb:1:7: expected the end of the line, found `(`; a union is a `+$` with its cases below
2++$ x ?(%a %b)
3+ ^
tests/golden/inline-hoon-union-field-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: Hoon union syntax in a field
3+expect: error at 1:12 — a union is a `+$` with its cases below
tests/golden/inline-hoon-union-field-bad/source.jibbnew file+1
@@ -0,0 +1 @@
1++$ x [dir=?(%l %r)]
tests/golden/inline-hoon-union-field-bad/tokens.txtnew file+12
@@ -0,0 +1,12 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 glyph [
4+1:7 tight name dir
5+1:10 tight glyph =
6+1:11 tight glyph ?
7+1:12 tight glyph (
8+1:13 tight lit %l
9+1:16 lit %r
10+1:18 tight glyph )
11+1:19 tight glyph ]
12+1:20 NEWLINE
tests/golden/inline-hoon-union-field-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-hoon-union-field-bad/source.jibb:1:12: expected a space between items, found `(`; a union is a `+$` with its cases below
2++$ x [dir=?(%l %r)]
3+ ^
tests/golden/inline-hoon-union-gate-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: Hoon union syntax in a gate mold
3+expect: error at 1:10 — a union is a `+$` with its cases below
tests/golden/inline-hoon-union-gate-bad/source.jibbnew file+1
@@ -0,0 +1 @@
1++$ x $-(?(%a %b) @t)
tests/golden/inline-hoon-union-gate-bad/tokens.txtnew file+11
@@ -0,0 +1,11 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 glyph $-(
4+1:9 tight glyph ?
5+1:10 tight glyph (
6+1:11 tight lit %a
7+1:14 lit %b
8+1:16 tight glyph )
9+1:18 aura @t
10+1:20 tight glyph )
11+1:21 NEWLINE
tests/golden/inline-hoon-union-gate-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-hoon-union-gate-bad/source.jibb:1:10: expected a space between items, found `(`; a union is a `+$` with its cases below
2++$ x $-(?(%a %b) @t)
3+ ^
tests/golden/inline-hoon-union-nested-sample-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."
2+tests: Hoon union syntax in a field of a cell sample
3+expect: error at 1:13 — a union is a `+$` with its cases below
tests/golden/inline-hoon-union-nested-sample-bad/source.jibbnew file+2
@@ -0,0 +1,2 @@
1+++ f |= [s=?(%a %b) n=@ud]
2+ s
tests/golden/inline-hoon-union-nested-sample-bad/tokens.txtnew file+19
@@ -0,0 +1,19 @@
1+1:1 glyph ++
2+1:4 name f
3+1:6 glyph |=
4+1:9 glyph [
5+1:10 tight name s
6+1:11 tight glyph =
7+1:12 tight glyph ?
8+1:13 tight glyph (
9+1:14 tight lit %a
10+1:17 lit %b
11+1:19 tight glyph )
12+1:21 name n
13+1:22 tight glyph =
14+1:23 tight aura @ud
15+1:26 tight glyph ]
16+2:3 INDENT
17+2:3 name s
18+2:4 DEDENT
19+2:4 NEWLINE
tests/golden/inline-hoon-union-nested-sample-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-hoon-union-nested-sample-bad/source.jibb:1:13: expected a space between items, found `(`; a union is a `+$` with its cases below
2+++ f |= [s=?(%a %b) n=@ud]
3+ ^
tests/golden/inline-hoon-union-open-apply-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."
2+tests: Hoon union syntax in an argument on a deeper line of an open mold application
3+expect: error at 2:4 — a union is a `+$` with its cases below
tests/golden/inline-hoon-union-open-apply-bad/source.jibbnew file+2
@@ -0,0 +1,2 @@
1++$ x (list
2+ ?(%a %b)
tests/golden/inline-hoon-union-open-apply-bad/tokens.txtnew file+12
@@ -0,0 +1,12 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 glyph (
4+1:7 tight name list
5+2:3 INDENT
6+2:3 glyph ?
7+2:4 tight glyph (
8+2:5 tight lit %a
9+2:8 lit %b
10+2:10 tight glyph )
11+2:11 DEDENT
12+2:11 NEWLINE
tests/golden/inline-hoon-union-open-apply-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-hoon-union-open-apply-bad/source.jibb:2:4: expected the end of the line, found `(`; a union is a `+$` with its cases below
2+ ?(%a %b)
3+ ^
tests/golden/inline-hoon-union-open-field-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."
2+tests: Hoon union syntax in a field on a deeper line of an open cell mold
3+expect: error at 2:8 — a union is a `+$` with its cases below
tests/golden/inline-hoon-union-open-field-bad/source.jibbnew file+2
@@ -0,0 +1,2 @@
1++$ x [
2+ dir=?(%l %r)
tests/golden/inline-hoon-union-open-field-bad/tokens.txtnew file+13
@@ -0,0 +1,13 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 glyph [
4+2:3 INDENT
5+2:3 name dir
6+2:6 tight glyph =
7+2:7 tight glyph ?
8+2:8 tight glyph (
9+2:9 tight lit %l
10+2:12 lit %r
11+2:14 tight glyph )
12+2:15 DEDENT
13+2:15 NEWLINE
tests/golden/inline-hoon-union-open-field-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-hoon-union-open-field-bad/source.jibb:2:8: expected the end of the line, found `(`; a union is a `+$` with its cases below
2+ dir=?(%l %r)
3+ ^
tests/golden/inline-hoon-union-sample-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: Hoon union syntax in a gate sample
3+expect: error at 1:12 — a union is a `+$` with its cases below
tests/golden/inline-hoon-union-sample-bad/source.jibbnew file+2
@@ -0,0 +1,2 @@
1+++ f |= s=?(%a %b)
2+ s
tests/golden/inline-hoon-union-sample-bad/tokens.txtnew file+14
@@ -0,0 +1,14 @@
1+1:1 glyph ++
2+1:4 name f
3+1:6 glyph |=
4+1:9 name s
5+1:10 tight glyph =
6+1:11 tight glyph ?
7+1:12 tight glyph (
8+1:13 tight lit %a
9+1:16 lit %b
10+1:18 tight glyph )
11+2:3 INDENT
12+2:3 name s
13+2:4 DEDENT
14+2:4 NEWLINE
tests/golden/inline-hoon-union-sample-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-hoon-union-sample-bad/source.jibb:1:12: expected a space after the sample, found `(`; a union is a `+$` with its cases below
2+++ f |= s=?(%a %b)
3+ ^
tests/golden/inline-hoon-union-wide-sample-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."
2+tests: Hoon union syntax in a wide gate sample
3+expect: error at 1:12 — a union is a `+$` with its cases below
tests/golden/inline-hoon-union-wide-sample-bad/source.jibbnew file+1
@@ -0,0 +1 @@
1+++ f |=(s=?(%a %b) s)
tests/golden/inline-hoon-union-wide-sample-bad/tokens.txtnew file+13
@@ -0,0 +1,13 @@
1+1:1 glyph ++
2+1:4 name f
3+1:6 glyph |=(
4+1:9 tight name s
5+1:10 tight glyph =
6+1:11 tight glyph ?
7+1:12 tight glyph (
8+1:13 tight lit %a
9+1:16 lit %b
10+1:18 tight glyph )
11+1:20 name s
12+1:21 tight glyph )
13+1:22 NEWLINE
tests/golden/inline-hoon-union-wide-sample-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-hoon-union-wide-sample-bad/source.jibb:1:12: expected a space after the sample, found `(`; a union is a `+$` with its cases below
2+++ f |=(s=?(%a %b) s)
3+ ^
tests/golden/inline-leftout-buc-alone/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: a `$` alone where a mold goes
3+expect: error at 1:7 — `$` begins `$-(`
tests/golden/inline-leftout-buc-alone/source.jibbnew file+1
@@ -0,0 +1 @@
1++$ x $
tests/golden/inline-leftout-buc-alone/tokens.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-leftout-buc-alone/source.jibb:1:7: `$` begins `$-(`
2++$ x $
3+ ^
tests/golden/inline-leftout-buc-alone/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-leftout-buc-alone/source.jibb:1:7: `$` begins `$-(`
2++$ x $
3+ ^
tests/golden/inline-leftout-buc-paren-2/about.txt+1−1
@@ -1,3 +1,3 @@
11source: Grammar tab, Runes, "Left out on purpose": "`|-`, `$(…)`: gates recurse by name."
2−tests: `$(…)` where a mold goes, whose `$` could still begin `$?` or `$-(`
2+tests: `$(…)` where a mold goes, whose `$` can only begin `$-(`
33expect: error at 1:7 — a mold can begin with `$`, so the `(` is where the text stops being valid; `$(…)` is left out (gates recurse by name)
tests/golden/inline-leftout-buccen/about.txt+2−2
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes, "Left out on purpose": "`$%`: `$?` covers unions."
1+source: Grammar tab, Runes, Left out on purpose: "`$?`, `$%`: a union is a `+$` with its cases below."
22tests: `$%`, which the doc leaves out, where Hoon would write it
3−expect: error at 1:7 — `$%` is left out ($? covers unions); in a mold, `$` can only begin `$?` or `$-(`
3+expect: error at 1:7 — `$%` is left out: a union is a `+$` with its cases below
tests/golden/inline-leftout-buccen/tokens.txt+1−1
@@ -1,3 +1,3 @@
1−/tests/golden/inline-leftout-buccen/source.jibb:1:7: `$%` is left out: `$?` covers unions
1+/tests/golden/inline-leftout-buccen/source.jibb:1:7: `$%` is left out: a union is a `+$` with its cases below
22+$ x $%
33 ^
tests/golden/inline-leftout-buccen/tree.txt+1−1
@@ -1,3 +1,3 @@
1−/tests/golden/inline-leftout-buccen/source.jibb:1:7: `$%` is left out: `$?` covers unions
1+/tests/golden/inline-leftout-buccen/source.jibb:1:7: `$%` is left out: a union is a `+$` with its cases below
22+$ x $%
33 ^
tests/golden/inline-mold-generic/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Molds: "Generic molds: `+$ result |$ [V E] $?` with cases below."
1+source: Grammar tab, Molds: "Generic molds: `+$ result |$ [V E]` with cases below; `|$` goes only right after a `+$`'s name."
22tests: a generic mold of two type variables over a union whose cases are on the deeper lines (the two cases are this case's own; the doc says only "with cases below")
33expect: parses
tests/golden/inline-mold-generic/source.jibb+1−1
@@ -1,3 +1,3 @@
1−+$ result |$ [V E] $?
1++$ result |$ [V E]
22 [%ok value=V]
33 [%err error=E]
tests/golden/inline-mold-generic/tokens.txt−1
@@ -5,7 +5,6 @@
551:15 tight tvar V
661:17 tvar E
771:18 tight glyph ]
8−1:20 glyph $?
982:3 INDENT
1092:3 glyph [
11102:4 tight lit %ok
tests/golden/inline-mold-generic/tree.txt+1−1
@@ -1,7 +1,7 @@
11(module
22 (mold 1:1 result
33 (generic 1:11 V E
4− (union 1:20
4+ (union 2:3
55 (cell 2:3
66 (const 2:4 %ok)
77 (face 2:8 value (tvar 2:14 V)))
tests/golden/inline-pattern-crash-arm/about.txt+1−1
@@ -1,3 +1,3 @@
11source: Grammar tab, Patterns: "Leaving out `%stop` is an error naming it; to crash instead, write `%stop !!`."
2−tests: an arm whose expression is the crash `!!`, in a gate whose sample is a wide union
2+tests: an arm whose expression is the crash `!!`, in a gate whose sample is a named union
33expect: parses
tests/golden/inline-pattern-crash-arm/source.jibb+4−1
@@ -1,4 +1,7 @@
1−++ f |= s=$?(%go %stop)
1++$ action
2+ %go
3+ %stop
4+++ f |= s=action
25 ?- s
36 %go 1
47 %stop !!
tests/golden/inline-pattern-crash-arm/tokens.txt+25−20
@@ -1,21 +1,26 @@
1−1:1 glyph ++
2−1:4 name f
3−1:6 glyph |=
4−1:9 name s
5−1:10 tight glyph =
6−1:11 tight glyph $?(
7−1:14 tight lit %go
8−1:18 lit %stop
9−1:23 tight glyph )
1+1:1 glyph +$
2+1:4 name action
1032:3 INDENT
11−2:3 glyph ?-
12−2:6 name s
13−3:5 INDENT
14−3:5 lit %go
15−3:12 lit 1
16−4:5 NEWLINE
17−4:5 lit %stop
18−4:12 glyph !!
19−4:14 DEDENT
20−4:14 DEDENT
21−4:14 NEWLINE
4+2:3 lit %go
5+3:3 NEWLINE
6+3:3 lit %stop
7+4:1 DEDENT
8+4:1 NEWLINE
9+4:1 glyph ++
10+4:4 name f
11+4:6 glyph |=
12+4:9 name s
13+4:10 tight glyph =
14+4:11 tight name action
15+5:3 INDENT
16+5:3 glyph ?-
17+5:6 name s
18+6:5 INDENT
19+6:5 lit %go
20+6:12 lit 1
21+7:5 NEWLINE
22+7:5 lit %stop
23+7:12 glyph !!
24+7:14 DEDENT
25+7:14 DEDENT
26+7:14 NEWLINE
tests/golden/inline-pattern-crash-arm/tree.txt+10−9
@@ -1,10 +1,11 @@
11(module
2− (value 1:1 f
3− (gate 1:6
4− (face 1:9 s
5− (union 1:11 (const 1:14 %go) (const 1:18 %stop)))
6− (body 2:3
7− (branch 2:3
8− (wing 2:6 s)
9− (arm 3:5 (lit 3:5 %go) (lit 3:12 1))
10− (arm 4:5 (lit 4:5 %stop) (crash 4:12)))))))
2+ (mold 1:1 action
3+ (union 2:3 (const 2:3 %go) (const 3:3 %stop)))
4+ (value 4:1 f
5+ (gate 4:6
6+ (face 4:9 s (ref 4:11 action))
7+ (body 5:3
8+ (branch 5:3
9+ (wing 5:6 s)
10+ (arm 6:5 (lit 6:5 %go) (lit 6:12 1))
11+ (arm 7:5 (lit 7:5 %stop) (crash 7:12)))))))
tests/golden/inline-pattern-crash-bad/about.txt+1−1
@@ -1,3 +1,3 @@
11source: Grammar tab, Patterns: "Patterns take terms, numbers, strings without `{…}`, ships, loobeans and `~`, not lists or pairs."; the EBNF: `pattern = term | number | string | ship | loobean | "~" | "*" | name | "[" pattern { pattern } "]" ;`; Decisions, 2026-10-30: "Crash: `!!` is an operand, so `f !!` and `~[!!]` need no parentheses"
22tests: `!!` where an arm's pattern goes
3−expect: error at 4:5 — `!!` is an operand (Decisions), not a pattern, and no pattern begins with `!`; a case that should crash is written %stop !!
3+expect: error at 7:5 — `!!` is an operand (Decisions), not a pattern, and no pattern begins with `!`; a case that should crash is written %stop !!
tests/golden/inline-pattern-crash-bad/source.jibb+4−1
@@ -1,4 +1,7 @@
1−++ f |= s=$?(%go %stop)
1++$ action
2+ %go
3+ %stop
4+++ f |= s=action
25 ?- s
36 %go 1
47 !! 2
tests/golden/inline-pattern-crash-bad/tokens.txt+25−20
@@ -1,21 +1,26 @@
1−1:1 glyph ++
2−1:4 name f
3−1:6 glyph |=
4−1:9 name s
5−1:10 tight glyph =
6−1:11 tight glyph $?(
7−1:14 tight lit %go
8−1:18 lit %stop
9−1:23 tight glyph )
1+1:1 glyph +$
2+1:4 name action
1032:3 INDENT
11−2:3 glyph ?-
12−2:6 name s
13−3:5 INDENT
14−3:5 lit %go
15−3:10 lit 1
16−4:5 NEWLINE
17−4:5 glyph !!
18−4:10 lit 2
19−4:11 DEDENT
20−4:11 DEDENT
21−4:11 NEWLINE
4+2:3 lit %go
5+3:3 NEWLINE
6+3:3 lit %stop
7+4:1 DEDENT
8+4:1 NEWLINE
9+4:1 glyph ++
10+4:4 name f
11+4:6 glyph |=
12+4:9 name s
13+4:10 tight glyph =
14+4:11 tight name action
15+5:3 INDENT
16+5:3 glyph ?-
17+5:6 name s
18+6:5 INDENT
19+6:5 lit %go
20+6:10 lit 1
21+7:5 NEWLINE
22+7:5 glyph !!
23+7:10 lit 2
24+7:11 DEDENT
25+7:11 DEDENT
26+7:11 NEWLINE
tests/golden/inline-pattern-crash-bad/tree.txt+1−1
@@ -1,3 +1,3 @@
1−/tests/golden/inline-pattern-crash-bad/source.jibb:4:5: expected a pattern, found `!!`
1+/tests/golden/inline-pattern-crash-bad/source.jibb:7:5: expected a pattern, found `!!`
22 !! 2
33 ^
tests/golden/inline-scry-case/about.txt+1−1
@@ -1,3 +1,3 @@
11source: the first tab ("Jibb — an Elm-architecture UI language for Urbit"), Agent APIs: "A case can name another scry path, as in `[%changes /updates (facts todos todo-update) scry=/todos]`, used only by pages."
2−tests: a union case holding a path mold, a mold application and a faced path mold
2+tests: a single case below a definition, holding a path mold, a mold application and a faced path mold
33expect: parses
tests/golden/inline-scry-case/source.jibb+1−1
@@ -1,2 +1,2 @@
1−+$ paths $?
1++$ paths
22 [%changes /updates (facts todos todo-update) scry=/todos]
tests/golden/inline-scry-case/tokens.txt−1
@@ -1,6 +1,5 @@
111:1 glyph +$
221:4 name paths
3−1:10 glyph $?
432:3 INDENT
542:3 glyph [
652:4 tight lit %changes
tests/golden/inline-scry-case/tree.txt+5−6
@@ -1,8 +1,7 @@
11(module
22 (mold 1:1 paths
3− (union 1:10
4− (cell 2:3
5− (const 2:4 %changes)
6− (path 2:13 /updates)
7− (apply 2:22 facts (ref 2:29 todos) (ref 2:35 todo-update))
8− (face 2:48 scry (path 2:53 /todos))))))
3+ (cell 2:3
4+ (const 2:4 %changes)
5+ (path 2:13 /updates)
6+ (apply 2:22 facts (ref 2:29 todos) (ref 2:35 todo-update))
7+ (face 2:48 scry (path 2:53 /todos)))))
tests/golden/inline-term-numeric/source.jibb+4−1
@@ -1,4 +1,7 @@
1−+$ code $?(%200 %404 %1.000)
1++$ code
2+ %200
3+ %404
4+ %1.000
25++ label |= c=code
36 ?- c
47 %200 "ok"
tests/golden/inline-term-numeric/tokens.txt+29−27
@@ -1,29 +1,31 @@
111:1 glyph +$
221:4 name code
3−1:9 glyph $?(
4−1:12 tight lit %200
5−1:17 lit %404
6−1:22 lit %1.000
7−1:28 tight glyph )
8−2:1 NEWLINE
9−2:1 glyph ++
10−2:4 name label
11−2:10 glyph |=
12−2:13 name c
13−2:14 tight glyph =
14−2:15 tight name code
15−3:3 INDENT
16−3:3 glyph ?-
17−3:6 name c
18−4:5 INDENT
19−4:5 lit %200
20−4:13 str "ok"
21−5:5 NEWLINE
22−5:5 lit %404
23−5:13 str "not found"
24−6:5 NEWLINE
25−6:5 lit %1.000
26−6:13 str "a thousand"
27−6:25 DEDENT
28−6:25 DEDENT
29−6:25 NEWLINE
3+2:3 INDENT
4+2:3 lit %200
5+3:3 NEWLINE
6+3:3 lit %404
7+4:3 NEWLINE
8+4:3 lit %1.000
9+5:1 DEDENT
10+5:1 NEWLINE
11+5:1 glyph ++
12+5:4 name label
13+5:10 glyph |=
14+5:13 name c
15+5:14 tight glyph =
16+5:15 tight name code
17+6:3 INDENT
18+6:3 glyph ?-
19+6:6 name c
20+7:5 INDENT
21+7:5 lit %200
22+7:13 str "ok"
23+8:5 NEWLINE
24+8:5 lit %404
25+8:13 str "not found"
26+9:5 NEWLINE
27+9:5 lit %1.000
28+9:13 str "a thousand"
29+9:25 DEDENT
30+9:25 DEDENT
31+9:25 NEWLINE
tests/golden/inline-term-numeric/tree.txt+10−10
@@ -1,12 +1,12 @@
11(module
22 (mold 1:1 code
3− (union 1:9 (const 1:12 %200) (const 1:17 %404) (const 1:22 %1.000)))
4− (value 2:1 label
5− (gate 2:10
6− (face 2:13 c (ref 2:15 code))
7− (body 3:3
8− (branch 3:3
9− (wing 3:6 c)
10− (arm 4:5 (lit 4:5 %200) (str 4:13 "ok"))
11− (arm 5:5 (lit 5:5 %404) (str 5:13 "not found"))
12− (arm 6:5 (lit 6:5 %1.000) (str 6:13 "a thousand")))))))
3+ (union 2:3 (const 2:3 %200) (const 3:3 %404) (const 4:3 %1.000)))
4+ (value 5:1 label
5+ (gate 5:10
6+ (face 5:13 c (ref 5:15 code))
7+ (body 6:3
8+ (branch 6:3
9+ (wing 6:6 c)
10+ (arm 7:5 (lit 7:5 %200) (str 7:13 "ok"))
11+ (arm 8:5 (lit 8:5 %404) (str 8:13 "not found"))
12+ (arm 9:5 (lit 9:5 %1.000) (str 9:13 "a thousand")))))))
tests/golden/inline-union-both-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: a mold on the definition line and cases below
3+expect: error at 2:3 — a `+$` takes one mold on its line or its cases below, not both
tests/golden/inline-union-both-bad/source.jibbnew file+3
@@ -0,0 +1,3 @@
1++$ x @t
2+ %a
3+ %b
tests/golden/inline-union-both-bad/tokens.txtnew file+9
@@ -0,0 +1,9 @@
1+1:1 glyph +$
2+1:4 name x
3+1:6 aura @t
4+2:3 INDENT
5+2:3 lit %a
6+3:3 NEWLINE
7+3:3 lit %b
8+3:5 DEDENT
9+3:5 NEWLINE
tests/golden/inline-union-both-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-union-both-bad/source.jibb:2:3: expected the end of the line, found a deeper line; a `+$` takes one mold on its line or its cases below, not both
2+ %a
3+ ^
tests/golden/inline-union-local/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: a local definition with cases at the start of a gate body
3+expect: parses
tests/golden/inline-union-local/source.jibbnew file+5
@@ -0,0 +1,5 @@
1+++ f |= n=@ud
2+ +$ local
3+ %a
4+ %b
5+ n
tests/golden/inline-union-local/tokens.txtnew file+18
@@ -0,0 +1,18 @@
1+1:1 glyph ++
2+1:4 name f
3+1:6 glyph |=
4+1:9 name n
5+1:10 tight glyph =
6+1:11 tight aura @ud
7+2:3 INDENT
8+2:3 glyph +$
9+2:6 name local
10+3:5 INDENT
11+3:5 lit %a
12+4:5 NEWLINE
13+4:5 lit %b
14+5:3 DEDENT
15+5:3 NEWLINE
16+5:3 name n
17+5:4 DEDENT
18+5:4 NEWLINE
tests/golden/inline-union-local/tree.txtnew file+8
@@ -0,0 +1,8 @@
1+(module
2+ (value 1:1 f
3+ (gate 1:6
4+ (face 1:9 n (aura 1:11 @ud))
5+ (body 2:3
6+ (mold 2:3 local
7+ (union 3:5 (const 3:5 %a) (const 4:5 %b)))
8+ (wing 5:3 n)))))
tests/golden/inline-union-one-case/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: one case below and the same mold on its definition line
3+expect: parses; both definitions contain a cell mold, with no union node
tests/golden/inline-union-one-case/source.jibbnew file+3
@@ -0,0 +1,3 @@
1++$ go
2+ [%go url=@t]
3++$ go-inline [%go url=@t]
tests/golden/inline-union-one-case/tokens.txtnew file+20
@@ -0,0 +1,20 @@
1+1:1 glyph +$
2+1:4 name go
3+2:3 INDENT
4+2:3 glyph [
5+2:4 tight lit %go
6+2:8 name url
7+2:11 tight glyph =
8+2:12 tight aura @t
9+2:14 tight glyph ]
10+3:1 DEDENT
11+3:1 NEWLINE
12+3:1 glyph +$
13+3:4 name go-inline
14+3:14 glyph [
15+3:15 tight lit %go
16+3:19 name url
17+3:22 tight glyph =
18+3:23 tight aura @t
19+3:25 tight glyph ]
20+3:26 NEWLINE
tests/golden/inline-union-one-case/tree.txtnew file+9
@@ -0,0 +1,9 @@
1+(module
2+ (mold 1:1 go
3+ (cell 2:3
4+ (const 2:4 %go)
5+ (face 2:8 url (aura 2:12 @t))))
6+ (mold 3:1 go-inline
7+ (cell 3:14
8+ (const 3:15 %go)
9+ (face 3:19 url (aura 3:23 @t)))))
tests/golden/inline-union-record-bad/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."; "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: record fields under a bare definition without an open bracket
3+expect: error at 2:7 — a record leaves its `[` open on the definition line
tests/golden/inline-union-record-bad/source.jibbnew file+3
@@ -0,0 +1,3 @@
1++$ x
2+ name=@t
3+ age=@ud
tests/golden/inline-union-record-bad/tokens.txtnew file+12
@@ -0,0 +1,12 @@
1+1:1 glyph +$
2+1:4 name x
3+2:3 INDENT
4+2:3 name name
5+2:7 tight glyph =
6+2:8 tight aura @t
7+3:3 NEWLINE
8+3:3 name age
9+3:6 tight glyph =
10+3:7 tight aura @ud
11+3:10 DEDENT
12+3:10 NEWLINE
tests/golden/inline-union-record-bad/tree.txtnew file+3
@@ -0,0 +1,3 @@
1+/tests/golden/inline-union-record-bad/source.jibb:2:7: expected the end of the line, found `=`; a `+$`'s lines below are its cases; a record's fields go in a [ left open on the `+$` line
2+ name=@t
3+ ^
tests/golden/inline-union-wide/about.txt+3−3
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes: "`$?` bucwut: a union, one case per line or `$?(%a %b)`; cases must differ as nouns."
2−tests: the wide union
3−expect: parses
1+source: Grammar tab, Runes, Left out on purpose: "`$?`, `$%`: a union is a `+$` with its cases below."
2+tests: `$?(` with cases on its line
3+expect: error at 1:7 — `$?` is left out
tests/golden/inline-union-wide/tokens.txt+3−7
@@ -1,7 +1,3 @@
1−1:1 glyph +$
2−1:4 name x
3−1:6 glyph $?(
4−1:9 tight lit %a
5−1:12 lit %b
6−1:14 tight glyph )
7−1:15 NEWLINE
1+/tests/golden/inline-union-wide/source.jibb:1:7: `$?` is left out: a union is a `+$` with its cases below
2++$ x $?(%a %b)
3+ ^
tests/golden/inline-union-wide/tree.txt+3−3
@@ -1,3 +1,3 @@
1−(module
2− (mold 1:1 x
3− (union 1:6 (const 1:9 %a) (const 1:12 %b))))
1+/tests/golden/inline-union-wide/source.jibb:1:7: `$?` is left out: a union is a `+$` with its cases below
2++$ x $?(%a %b)
3+ ^
tests/golden/inline-wide-form-rune-bad/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes: "Only `|=`, `$?` and `$-` have wide forms: `|=(sample expr)`, `$?(case case)`, `$-(mold mold)`. Their children are operands, so calls inside need parentheses."
1+source: Grammar tab, Runes: "Only `|=` and `$-` have wide forms: `|=(sample expr)` and `$-(mold mold)`. Their children are operands, so calls inside need parentheses."
22tests: a rune as the body of the wide gate
33expect: error at 1:11 — the wide gate's body is an operand, and a rune is not one; it would need parentheses, |=(n (^- @ud n))
tests/golden/inline-wide-forms/about.txt+2−2
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes: "Only `|=`, `$?` and `$-` have wide forms: `|=(sample expr)`, `$?(case case)`, `$-(mold mold)`."
2−tests: the three wide forms, written as the doc writes them
1+source: Grammar tab, Runes: "Only `|=` and `$-` have wide forms: `|=(sample expr)` and `$-(mold mold)`."
2+tests: the two wide forms, written as the doc writes them
33expect: parses; in x the bare name sample binds and expr is the body
tests/golden/inline-wide-forms/source.jibb−1
@@ -1,3 +1,2 @@
11++ x |=(sample expr)
2−+$ y $?(case case)
32+$ z $-(mold mold)
tests/golden/inline-wide-forms/tokens.txt+5−12
@@ -6,16 +6,9 @@
661:20 tight glyph )
772:1 NEWLINE
882:1 glyph +$
9−2:4 name y
10−2:6 glyph $?(
11−2:9 tight name case
12−2:14 name case
9+2:4 name z
10+2:6 glyph $-(
11+2:9 tight name mold
12+2:14 name mold
13132:18 tight glyph )
14−3:1 NEWLINE
15−3:1 glyph +$
16−3:4 name z
17−3:6 glyph $-(
18−3:9 tight name mold
19−3:14 name mold
20−3:18 tight glyph )
21−3:19 NEWLINE
14+2:19 NEWLINE
tests/golden/inline-wide-forms/tree.txt+2−4
@@ -1,7 +1,5 @@
11(module
22 (value 1:1 x
33 (gate-wide 1:6 (bind 1:9 sample) (wing 1:16 expr)))
4− (mold 2:1 y
5− (union 2:6 (ref 2:9 case) (ref 2:14 case)))
6− (mold 3:1 z
7− (fn 3:6 (ref 3:9 mold) (ref 3:14 mold))))
4+ (mold 2:1 z
5+ (fn 2:6 (ref 2:9 mold) (ref 2:14 mold))))
tests/golden/inline-wide-union-call/about.txt+3−3
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes: "Their children are operands, so calls inside need parentheses."
2−tests: a mold application written without parentheses inside the wide union
3−expect: parses as a union of three cases, %a, list and @t, not of %a and (list @t)
1+source: Grammar tab, Runes: "`+$` **lusbuc**: defines a mold, likewise: on its line, or as cases on the lines below, one per line, where several cases make a union and one is just that mold. Molds may be recursive."
2+tests: a mold application without parentheses where one union case goes
3+expect: error at 3:8 — a union takes one case per line
tests/golden/inline-wide-union-call/source.jibb+3−1
@@ -1 +1,3 @@
1−+$ x $?(%a list @t)
1++$ x
2+ %a
3+ list @t
tests/golden/inline-wide-union-call/tokens.txt+7−6
@@ -1,8 +1,9 @@
111:1 glyph +$
221:4 name x
3−1:6 glyph $?(
4−1:9 tight lit %a
5−1:12 name list
6−1:17 aura @t
7−1:19 tight glyph )
8−1:20 NEWLINE
3+2:3 INDENT
4+2:3 lit %a
5+3:3 NEWLINE
6+3:3 name list
7+3:8 aura @t
8+3:10 DEDENT
9+3:10 NEWLINE
tests/golden/inline-wide-union-call/tree.txt+3−3
@@ -1,3 +1,3 @@
1−(module
2− (mold 1:1 x
3− (union 1:6 (const 1:9 %a) (ref 1:12 list) (aura 1:17 @t))))
1+/tests/golden/inline-wide-union-call/source.jibb:3:8: expected the end of the line, found `@t`; a union takes one case per line
2+ list @t
3+ ^
tests/golden/lex-indent-ok-3/source.jibb+1−1
@@ -1,5 +1,5 @@
11 :: an indented comment before the first code line
2−+$ msg $?
2++$ msg
33 :: a comment deeper than the cases
44 %a
55 :: a comment shallower than the cases
tests/golden/lex-indent-ok-3/tokens.txt−1
@@ -1,6 +1,5 @@
112:1 glyph +$
222:4 name msg
3−2:8 glyph $?
434:3 INDENT
544:3 lit %a
656:3 NEWLINE
tests/golden/lex-indent-ok-3/tree.txt+1−1
@@ -1,6 +1,6 @@
11(module
22 (mold 2:1 msg
3− (union 2:8 (const 4:3 %a) (const 6:3 %b)))
3+ (union 4:3 (const 4:3 %a) (const 6:3 %b)))
44 (value 7:1 f
55 (gate 7:6
66 (face 7:9 b (flag 7:11))
tests/golden/lex-layout-bad-1/about.txt+1−1
@@ -1,3 +1,3 @@
11source: Grammar tab, Lexical rules: "Layout tokens: a deeper line emits INDENT, the same depth NEWLINE, a shallower one a DEDENT per closed level, then NEWLINE."; the EBNF's comment: "Blank and comment-only lines emit nothing."
22tests: a deeper line where the grammar takes none: `++ x foo` is complete on its line
3−expect: error at 2:3 — line 2 is deeper, so it emits INDENT, but only a definition with nothing after its name, an open bracket, a rune's body, ?- arms or $? cases take a deeper line, and `++ x foo` is none of them
3+expect: error at 2:3 — line 2 is deeper, so it emits INDENT, but only a definition with nothing after its name, an open bracket, a rune's body or ?- arms take a deeper line, and `++ x foo` is none of them
tests/golden/lex-layout-bad-10/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Layout tokens: a deeper line emits INDENT, the same depth NEWLINE, a shallower one a DEDENT per closed level, then NEWLINE."; the EBNF: `definition = "+$" name ( mold | INDENT mold DEDENT ) | "++" name ( expr | body ) ;`
1+source: Grammar tab, Lexical rules: "Layout tokens: a deeper line emits INDENT, the same depth NEWLINE, a shallower one a DEDENT per closed level, then NEWLINE."; the EBNF: `definition = "+$" name [ generic ] ( mold | cases ) | "++" name ( expr | body ) ;`
22tests: `+$ x` with nothing on its line and no deeper line
33expect: error at 2:1 — a +$'s mold may go on a deeper line, so line 1 may end after the name; line 2 is at the same depth, so x gets no mold, and the error is at that line, which a deeper one would have fixed, as for `++ view` in lex-layout-bad-2
tests/golden/lex-layout-bad-5/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes: "A rune's first children sit on its line, the last taking the rest of it; the others follow, indented."; the EBNF: `definition = "+$" name ( mold | INDENT mold DEDENT ) | "++" name ( expr | body ) ;`
1+source: Grammar tab, Runes: "A rune's first children sit on its line, the last taking the rest of it; the others follow, indented."; the EBNF: `definition = "+$" name [ generic ] ( mold | cases ) | "++" name ( expr | body ) ;`
22tests: a value's name on the line below its `++`
33expect: error at 1:3, the end of line 1 — the name sits on the `++`'s line, right after it in the EBNF, so no later line can supply it, deeper or not, and the text stops being valid where line 1 ends (library 2.0), not at the deeper line
tests/golden/lex-layout-bad-6/about.txt+2−2
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes: "A rune's first children sit on its line, the last taking the rest of it; the others follow, indented."; the EBNF: `definition = "+$" name ( mold | INDENT mold DEDENT ) | "++" name ( expr | body ) ;`
1+source: Grammar tab, Runes: "A rune's first children sit on its line, the last taking the rest of it; the others follow, indented."; the EBNF: `definition = "+$" name [ generic ] ( mold | cases ) | "++" name ( expr | body ) ;`
22tests: a mold's name on the line below its `+$`
3−expect: error at 1:3, the end of line 1 — the name sits on the `+$`'s line; only the mold may go on a deeper line (`INDENT mold DEDENT`), so no later line can supply the name (library 2.0)
3+expect: error at 1:3, the end of line 1 — the name sits on the `+$`'s line; only the mold may go on a deeper line (`cases = INDENT mold { NEWLINE mold } DEDENT`), so no later line can supply the name (library 2.0)
tests/golden/lex-name-bad-6/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, the EBNF: `definition = "+$" name ( mold | INDENT mold DEDENT ) | "++" name ( expr | body ) ;` and `wing = name { "." name } ;`
1+source: Grammar tab, the EBNF: `definition = "+$" name [ generic ] ( mold | cases ) | "++" name ( expr | body ) ;` and `wing = name { "." name } ;`
22tests: a wing where a definition's name goes
33expect: error at 1:5 — a definition's name has no `.`; `a` alone could still be the name
tests/golden/lex-open-bracket-bad-12/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes: "Only `|=`, `$?` and `$-` have wide forms: `|=(sample expr)`, `$?(case case)`, `$-(mold mold)`. Their children are operands, so calls inside need parentheses."; the EBNF: `gate = "|=(" ( field | name ) operand ")" ;`
1+source: Grammar tab, Runes: "Only `|=` and `$-` have wide forms: `|=(sample expr)` and `$-(mold mold)`. Their children are operands, so calls inside need parentheses."; the EBNF: `gate = "|=(" ( field | name ) operand ")" ;`
22tests: a wide gate with its body on the line below
33expect: error at 1:10, the end of line 1 — |=( is a wide form with no open form, so it closes on its line, and no later line can give it its body; the error names the body, as `|=(a)` does
tests/golden/lex-open-bracket-bad-15/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes: "Only `|=`, `$?` and `$-` have wide forms: `|=(sample expr)`, `$?(case case)`, `$-(mold mold)`. Their children are operands, so calls inside need parentheses."; the EBNF: `gate = "|=(" ( field | name ) operand ")" ;`
1+source: Grammar tab, Runes: "Only `|=` and `$-` have wide forms: `|=(sample expr)` and `$-(mold mold)`. Their children are operands, so calls inside need parentheses."; the EBNF: `gate = "|=(" ( field | name ) operand ")" ;`
22tests: a wide gate opened alone at the end of its line, its sample and body on the line below
33expect: error at 1:9, the end of line 1 — `|=(` is a wide form with no open form, so it closes on its line, and no later line can give it its sample; the error names the sample it needs first, as `|=()` does, and the `|=(a` of lex-open-bracket-bad-12 its body
tests/golden/lex-open-bracket-ok-5/about.txt+2−2
@@ -1,3 +1,3 @@
11source: Decisions, 2026-10-30: "Several open brackets: The deeper lines go to the last bracket, or the last rune's body, left open on a line, and the brackets before it close with it: `(column ~ ~[` needs no `)`"; Grammar tab, Lexical rules: "A line may leave several brackets open: the deeper lines go to the last one, or to the body of the last rune, and the others close with it, so `(column ~ ~[` above its items needs no `)`."
2−tests: molds' brackets left open together: an apply, a wide union and a gate's mold before a cell, and a cell before an apply
3−expect: parses: v is (map @ud [a=@ b=@]), w is $?(%a [b=@]), f is $-(@ [b=@]) and g is [a=@ b=(list @t)]: the last bracket on line 1 takes the deeper lines and those before it close with it (Decisions), $?( and $-( too, though they have no open form of their own
2+tests: molds' brackets left open together: an apply and a gate's mold before a cell, and a cell before an apply
3+expect: parses: v is (map @ud [a=@ b=@]), f is $-(@ [b=@]) and g is [a=@ b=(list @t)]: the last bracket on line 1 takes the deeper lines and those before it close with it (Decisions), $-( too, though it has no open form of its own
tests/golden/lex-open-bracket-ok-5/source.jibb−2
@@ -1,8 +1,6 @@
11+$ v (map @ud [
22 a=@
33 b=@
4−+$ w $?(%a [
5− b=@
64+$ f $-(@ [
75 b=@
86+$ g [a=@ b=(list
tests/golden/lex-open-bracket-ok-5/tokens.txt+15−26
@@ -15,10 +15,10 @@
15154:1 DEDENT
16164:1 NEWLINE
17174:1 glyph +$
18−4:4 name w
19−4:6 glyph $?(
20−4:9 tight lit %a
21−4:12 glyph [
18+4:4 name f
19+4:6 glyph $-(
20+4:9 tight aura @
21+4:11 glyph [
22225:3 INDENT
23235:3 name b
24245:4 tight glyph =
@@ -26,27 +26,16 @@
26266:1 DEDENT
27276:1 NEWLINE
28286:1 glyph +$
29−6:4 name f
30−6:6 glyph $-(
29+6:4 name g
30+6:6 glyph [
31+6:7 tight name a
32+6:8 tight glyph =
31336:9 tight aura @
32−6:11 glyph [
34+6:11 name b
35+6:12 tight glyph =
36+6:13 tight glyph (
37+6:14 tight name list
33387:3 INDENT
34−7:3 name b
35−7:4 tight glyph =
36−7:5 tight aura @
37−8:1 DEDENT
38−8:1 NEWLINE
39−8:1 glyph +$
40−8:4 name g
41−8:6 glyph [
42−8:7 tight name a
43−8:8 tight glyph =
44−8:9 tight aura @
45−8:11 name b
46−8:12 tight glyph =
47−8:13 tight glyph (
48−8:14 tight name list
49−9:3 INDENT
50−9:3 aura @t
51−9:5 DEDENT
52−9:5 NEWLINE
39+7:3 aura @t
40+7:5 DEDENT
41+7:5 NEWLINE
tests/golden/lex-open-bracket-ok-5/tree.txt+9−14
@@ -5,18 +5,13 @@
55 (cell 1:15
66 (face 2:3 a (aura 2:5 @))
77 (face 3:3 b (aura 3:5 @)))))
8− (mold 4:1 w
9− (union 4:6
10− (const 4:9 %a)
11− (cell 4:12
8+ (mold 4:1 f
9+ (fn 4:6
10+ (aura 4:9 @)
11+ (cell 4:11
1212 (face 5:3 b (aura 5:5 @)))))
13− (mold 6:1 f
14− (fn 6:6
15− (aura 6:9 @)
16− (cell 6:11
17− (face 7:3 b (aura 7:5 @)))))
18− (mold 8:1 g
19− (cell 8:6
20− (face 8:7 a (aura 8:9 @))
21− (face 8:11 b
22− (apply 8:13 list (aura 9:3 @t))))))
13+ (mold 6:1 g
14+ (cell 6:6
15+ (face 6:7 a (aura 6:9 @))
16+ (face 6:11 b
17+ (apply 6:13 list (aura 7:3 @t))))))
tests/golden/lex-open-bracket-ok-9/about.txt+3−3
@@ -1,3 +1,3 @@
1−source: Decisions, 2026-10-30: "Several open brackets: The deeper lines go to the last bracket, or the last rune's body, left open on a line, and the brackets before it close with it: `(column ~ ~[` needs no `)`"; Grammar tab, Runes: "`$?` bucwut: a union, one case per line or `$?(%a %b)`; cases must differ as nouns."
2−tests: a mold's `(` left open before a `$?` whose cases are on the deeper lines, the `(` holding only its name before the `$?`, and then its name and a mold
3−expect: parses: v is (map $?(%a %b)) and w is (map @ud $?(%a %b)): the `$?`, the last rune on line 1, takes the deeper lines as its cases, and the `(` before it closes with it (Decisions), its name and the union making it whole; a mold's `(` needs nothing after its molds but its `)` (library section 3, What the EBNF leaves out)
1+source: Decisions, 2026-10-30: "Open molds: A mold's `[` and `(` may be left open at line end, one field or mold per deeper line; a `(` keeps the mold's name on its first line"
2+tests: open mold applications with their arguments on deeper lines
3+expect: parses: v is (map %a %b) and w is (map @ud %a %b)
tests/golden/lex-open-bracket-ok-9/source.jibb+2−2
@@ -1,6 +1,6 @@
1−+$ v (map $?
1++$ v (map
22 %a
33 %b
4−+$ w (map @ud $?
4++$ w (map @ud
55 %a
66 %b
tests/golden/lex-open-bracket-ok-9/tokens.txt−2
@@ -2,7 +2,6 @@
221:4 name v
331:6 glyph (
441:7 tight name map
5−1:11 glyph $?
652:3 INDENT
762:3 lit %a
873:3 NEWLINE
@@ -14,7 +13,6 @@
14134:6 glyph (
15144:7 tight name map
16154:11 aura @ud
17−4:15 glyph $?
18165:3 INDENT
19175:3 lit %a
20186:3 NEWLINE
tests/golden/lex-open-bracket-ok-9/tree.txt+2−5
@@ -1,8 +1,5 @@
11(module
22 (mold 1:1 v
3− (apply 1:6 map
4− (union 1:11 (const 2:3 %a) (const 3:3 %b))))
3+ (apply 1:6 map (const 2:3 %a) (const 3:3 %b)))
54 (mold 4:1 w
6− (apply 4:6 map
7− (aura 4:11 @ud)
8− (union 4:15 (const 5:3 %a) (const 6:3 %b)))))
5+ (apply 4:6 map (aura 4:11 @ud) (const 5:3 %a) (const 6:3 %b))))
tests/golden/lex-open-mold-bad-6/about.txt+3−3
@@ -1,3 +1,3 @@
1−source: Decisions, 2026-10-30: "Open molds: A mold's `[` and `(` may be left open at line end, one field or mold per deeper line; a `(` keeps the mold's name on its first line"; the EBNF: mold's `"$?(" mold { mold } ")"`
2−tests: a wide union left open at the end of its line
3−expect: error at 1:11, the end of line 1 — only a mold's [ and ( open (Decisions): $?( closes on its line, and $? with its cases below covers long unions, so no later line can close it, and the error is at the line's end (library 2.0), where its ) could still have gone
1+source: Grammar tab, Runes, Left out on purpose: "`$?`, `$%`: a union is a `+$` with its cases below."
2+tests: `$?(` inside a field
3+expect: error at 1:12 — `$?` is left out
tests/golden/lex-open-mold-bad-6/source.jibb+1−2
@@ -1,2 +1 @@
1−+$ x $?(%a
2− %b
1++$ x [dir=$?(%l %r)]
tests/golden/lex-open-mold-bad-6/tokens.txt+3−8
@@ -1,8 +1,3 @@
1−1:1 glyph +$
2−1:4 name x
3−1:6 glyph $?(
4−1:9 tight lit %a
5−2:3 INDENT
6−2:3 lit %b
7−2:5 DEDENT
8−2:5 NEWLINE
1+/tests/golden/lex-open-mold-bad-6/source.jibb:1:12: `$?` is left out: a union is a `+$` with its cases below
2++$ x [dir=$?(%l %r)]
3+ ^
tests/golden/lex-open-mold-bad-6/tree.txt+3−3
@@ -1,3 +1,3 @@
1−/tests/golden/lex-open-mold-bad-6/source.jibb:1:11: expected `)` to close the `$?(` at 1:6, found the end of the line; this bracket closes on its line
2−+$ x $?(%a
3− ^
1+/tests/golden/lex-open-mold-bad-6/source.jibb:1:12: `$?` is left out: a union is a `+$` with its cases below
2++$ x [dir=$?(%l %r)]
3+ ^
tests/golden/lex-open-mold-ok-4/about.txt+2−2
@@ -1,3 +1,3 @@
1−source: Decisions, 2026-10-30: "Open molds: A mold's `[` and `(` may be left open at line end, one field or mold per deeper line; a `(` keeps the mold's name on its first line"; the EBNF: mold's `"$?" INDENT mold { NEWLINE mold } DEDENT` and `"[" { field } flines`
2−tests: a case of a $? with its cases below, left open after its tag
1+source: Decisions, 2026-10-30: "Open molds: A mold's `[` and `(` may be left open at line end, one field or mold per deeper line; a `(` keeps the mold's name on its first line"; the EBNF: `cases = INDENT mold { NEWLINE mold } DEDENT` and mold's `"[" { field } flines`
2+tests: a case of a +$ with its cases below, left open after its tag
33expect: parses: msg is the union of three cases, the first the cell [%add text=@t n=@ud], whose fields are on the lines below its own
tests/golden/lex-open-mold-ok-4/source.jibb+1−1
@@ -1,4 +1,4 @@
1−+$ msg $?
1++$ msg
22 [%add
33 text=@t
44 n=@ud
tests/golden/lex-open-mold-ok-4/tokens.txt−1
@@ -1,6 +1,5 @@
111:1 glyph +$
221:4 name msg
3−1:8 glyph $?
432:3 INDENT
542:3 glyph [
652:4 tight lit %add
tests/golden/lex-open-mold-ok-4/tree.txt+1−1
@@ -1,6 +1,6 @@
11(module
22 (mold 1:1 msg
3− (union 1:8
3+ (union 2:3
44 (cell 2:3
55 (const 2:4 %add)
66 (face 3:5 text (aura 3:10 @t))
tests/golden/lex-open-mold-ok-5/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Decisions, 2026-10-30: "Open molds: A mold's `[` and `(` may be left open at line end, one field or mold per deeper line; a `(` keeps the mold's name on its first line"; the EBNF: `definition = "+$" name ( mold | INDENT mold DEDENT ) | "++" name ( expr | body ) ;`
1+source: Decisions, 2026-10-30: "Open molds: A mold's `[` and `(` may be left open at line end, one field or mold per deeper line; a `(` keeps the mold's name on its first line"; the EBNF: `definition = "+$" name [ generic ] ( mold | cases ) | "++" name ( expr | body ) ;`
22tests: a mold alone on the deeper line below its +$, left open
33expect: parses: model's mold is a [ alone, which takes the lines deeper still, the cell [a=@ b=@]; dict's is (map @ud @t); x follows at the top level
tests/golden/lex-rune-layout-bad-10/about.txtdeleted−3
@@ -1,3 +0,0 @@
1−source: Grammar tab, Runes: "A rune's first children sit on its line, the last taking the rest of it; the others follow, indented."; "`|$` barbuc: a generic mold, `|$ [A] mold`."; the EBNF: mold's `"|$" "[" typevar { typevar } "]" mold`
2−tests: a generic mold's mold on the line below its type variables
3−expect: error at 1:12, the end of line 1 — the mold follows the `]` on the `|$`'s line, as in `+$ result |$ [V E] $?` with only the union's cases below, so no later line can supply it (library 2.0)
tests/golden/lex-rune-layout-bad-10/tree.txtdeleted−3
@@ -1,3 +0,0 @@
1−/tests/golden/lex-rune-layout-bad-10/source.jibb:1:12: expected a mold, found the end of the line
2−+$ x |$ [A]
3− ^
tests/golden/lex-rune-layout-bad-13/about.txt+3−3
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes: "A rune's first children sit on its line, the last taking the rest of it; the others follow, indented."; "`$?` bucwut: a union, one case per line or `$?(%a %b)`; cases must differ as nouns."; the EBNF: mold's `"$?" INDENT mold { NEWLINE mold } DEDENT`
2−tests: a union's `$?` with no cases below it
3−expect: error at 2:1 — `$?`'s cases go on deeper lines, so line 1 may end after it; line 2 is at the same depth, so the union gets no case, and the error is at that line, which a deeper one would have fixed
1+source: Grammar tab, Runes, Left out on purpose: "`$?`, `$%`: a union is a `+$` with its cases below."
2+tests: `$?` with cases below
3+expect: error at 1:7 — `$?` is left out
tests/golden/lex-rune-layout-bad-13/source.jibb+2−1
@@ -1,2 +1,3 @@
11+$ x $?
2−++ y 1
2+ %a
3+ %b
tests/golden/lex-rune-layout-bad-13/tokens.txt+3−8
@@ -1,8 +1,3 @@
1−1:1 glyph +$
2−1:4 name x
3−1:6 glyph $?
4−2:1 NEWLINE
5−2:1 glyph ++
6−2:4 name y
7−2:6 lit 1
8−2:7 NEWLINE
1+/tests/golden/lex-rune-layout-bad-13/source.jibb:1:7: `$?` is left out: a union is a `+$` with its cases below
2++$ x $?
3+ ^
tests/golden/lex-rune-layout-bad-13/tree.txt+3−3
@@ -1,3 +1,3 @@
1−/tests/golden/lex-rune-layout-bad-13/source.jibb:2:1: expected `$?`'s cases on deeper lines, found a line at the same depth
2−++ y 1
3−^
1+/tests/golden/lex-rune-layout-bad-13/source.jibb:1:7: `$?` is left out: a union is a `+$` with its cases below
2++$ x $?
3+ ^
tests/golden/lex-rune-layout-bad-15/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes: "A rune's first children sit on its line, the last taking the rest of it; the others follow, indented."; "`|$` barbuc: a generic mold, `|$ [A] mold`."; the EBNF: mold's `"|$" "[" typevar { typevar } "]" mold`
1+source: Grammar tab, Runes: "A rune's first children sit on its line, the last taking the rest of it; the others follow, indented."; "`|$` barbuc: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."; the EBNF: `generic = "|$" "[" typevar { typevar } "]"`
22tests: a generic mold's `[` of type variables left open at the end of its line
33expect: error at 1:11, the end of line 1 — `|$`'s `[` has only the closed form in the EBNF, so it closes on its line, and no later line can give it its `]` (library 2.0); the error names the closer it needs, as it holds a type variable
tests/golden/lex-rune-layout-bad-9/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Runes: "A rune's first children sit on its line, the last taking the rest of it; the others follow, indented."; "`|$` barbuc: a generic mold, `|$ [A] mold`."; the EBNF: mold's `"|$" "[" typevar { typevar } "]" mold`
1+source: Grammar tab, Runes: "A rune's first children sit on its line, the last taking the rest of it; the others follow, indented."; "`|$` barbuc: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."; the EBNF: `generic = "|$" "[" typevar { typevar } "]"`
22tests: a generic mold's type variables and mold on the line below the `|$`
33expect: error at 1:8, the end of line 1 — the `[` and its type variables go on the `|$`'s line, as the EBNF has no INDENT in `|$`, so no later line can supply them (library 2.0)
tests/golden/lex-rune-layout-ok-1/about.txt+1−1
@@ -1,3 +1,3 @@
11source: Grammar tab, Runes: "A rune's first children sit on its line, the last taking the rest of it; the others follow, indented."; the EBNF: `rune = "|=" field ( expr | body ) | "^-" mold ( expr | body ) | "~&" expr body | "?-" expr INDENT arm { NEWLINE arm } DEDENT ;`
2−tests: each rune's layout: a gate's body taking the rest of its line or below it; a cast's expression after its mold or below it; `~&` with its value on its line and its body below; `?-` with its subject on its line and its arms below, an arm's expression after its pattern or below it; a `+$` whose mold, and a `$?` whose cases, are on deeper lines
2+tests: each rune's layout: a gate's body taking the rest of its line or below it; a cast's expression after its mold or below it; `~&` with its value on its line and its body below; `?-` with its subject on its line and its arms below, an arm's expression after its pattern or below it; a `+$` whose mold, and a `+$` whose cases, are on deeper lines
33expect: parses: a's body is the call add n 1, the rest of its line
tests/golden/lex-rune-layout-ok-1/source.jibb+2−3
@@ -15,6 +15,5 @@
1515+$ g
1616 [a=@ b=@]
1717+$ h
18− $?
19− %a
20− %b
18+ %a
19+ %b
tests/golden/lex-rune-layout-ok-1/tokens.txt+5−8
@@ -90,11 +90,8 @@
909017:1 glyph +$
919117:4 name h
929218:3 INDENT
93−18:3 glyph $?
94−19:5 INDENT
95−19:5 lit %a
96−20:5 NEWLINE
97−20:5 lit %b
98−20:7 DEDENT
99−20:7 DEDENT
100−20:7 NEWLINE
93+18:3 lit %a
94+19:3 NEWLINE
95+19:3 lit %b
96+19:5 DEDENT
97+19:5 NEWLINE
tests/golden/lex-rune-layout-ok-1/tree.txt+1−1
@@ -39,4 +39,4 @@
3939 (face 16:4 a (aura 16:6 @))
4040 (face 16:8 b (aura 16:10 @))))
4141 (mold 17:1 h
42− (union 18:3 (const 19:5 %a) (const 20:5 %b))))
42+ (union 18:3 (const 18:3 %a) (const 19:3 %b))))
tests/golden/lex-rune-layout-ok-2/about.txtnew file+3
@@ -0,0 +1,3 @@
1+source: Grammar tab, Runes: "`|$` **barbuc**: a generic mold, right after a `+$`'s name: `+$ result |$ [V E]`, then the mold on its line or the cases below."
2+tests: a generic mold with one mold on the line below its type variables
3+expect: parses; the generic body is (list A)
tests/golden/lex-rune-layout-bad-10/source.jibb → tests/golden/lex-rune-layout-ok-2/source.jibbrenamed

The content is the same.

tests/golden/lex-rune-layout-bad-10/tokens.txt → tests/golden/lex-rune-layout-ok-2/tokens.txtrenamed

The content is the same.

tests/golden/lex-rune-layout-ok-2/tree.txtnew file+4
@@ -0,0 +1,4 @@
1+(module
2+ (mold 1:1 x
3+ (generic 1:6 A
4+ (apply 2:3 list (tvar 2:9 A)))))
tests/golden/lex-term-bad-13/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Decisions, 2026-10-30: "Numeric terms: `%` and a decimal as Hoon writes it: `%1.000`; `%1000` and `%007` are errors"; the EBNF: `term = "%" name | "%" decimal | "%&" | "%|" ;`; the EBNF: `definition = "+$" name ( mold | INDENT mold DEDENT )`
1+source: Decisions, 2026-10-30: "Numeric terms: `%` and a decimal as Hoon writes it: `%1.000`; `%1000` and `%007` are errors"; the EBNF: `term = "%" name | "%" decimal | "%&" | "%|" ;`; the EBNF: `definition = "+$" name [ generic ] ( mold | cases )`
22tests: a hexadecimal numeric term as the mold on the line below its +$
33expect: error at 2:5, the x — %0 alone is a term, and a mold, and nothing goes on from its 0, so the x is the first character that can't be valid, as in `++ x %0x1f` (lex-term-bad-8)
tests/golden/lex-tight-change-bad-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: the doc's `m (note text)`: a `(` after a wing and a space
33expect: parses as a call: m applied to the group (note text), not a change
tests/golden/lex-tight-change-bad-2/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: a change written with a space before its `(`
33expect: error at 1:13 — after a space, `(` opens a group, not a change, and a group's items take no name=; the change is m(note=text)
tests/golden/lex-tight-change-ok-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: the doc's `m(note=text)`, a change of two items holding a cell and a group, and a change of a two-name wing
33expect: parses: three changes
tests/golden/lex-tight-ctor-bad-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: `|= %got` with a space, as a call's argument
33expect: error at 1:20 — inside a call, `|=` can only begin the constructor |=%got or the wide gate |=(…), both tight; a tall |= is a rune, and a rune can't be a call's operand
tests/golden/lex-tight-ctor-bad-2/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: `|= %got` with a space, as a whole expression
33expect: parses as a tall gate whose sample is the unfaced constant mold %got and whose body, below, is ~; not the constructor |=%got (unfaced samples parse, as in `++ init |= ~` of the Grammar's basket example)
tests/golden/lex-tight-ctor-ok-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: the doc's `|=%got`, alone, as a call's argument, and as list items
33expect: parses
tests/golden/lex-tight-opener-bad-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: `~ [a]`: the list opener written with a space
33expect: parses as a call: ~ applied to the one-item cell [a] (the EBNF's tuple admits one item), not the list ~[a]
tests/golden/lex-tight-opener-bad-2/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: `|= (`: the wide gate's opener written with a space, inside a call
33expect: error at 1:17 — inside a call, `|=` can only begin |=(…) or |=%term, both tight; the tall |= is a rune, and a rune can't be a call's operand
tests/golden/lex-tight-opener-bad-3/about.txt+3−3
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
2−tests: `$? (`: the wide union's opener written with a space
3−expect: error at 1:9 — `$?` with a space is the tall union, whose cases go on deeper lines, one per line, so only a comment may follow it on its line; the wide union is $?(%a %b)
1+source: Grammar tab, Runes, Left out on purpose: "`$?`, `$%`: a union is a `+$` with its cases below."
2+tests: `$?` followed by a space
3+expect: error at 1:7 — `$?` is left out
tests/golden/lex-tight-opener-bad-3/tokens.txt+3−8
@@ -1,8 +1,3 @@
1−1:1 glyph +$
2−1:4 name x
3−1:6 glyph $?
4−1:9 glyph (
5−1:10 tight lit %a
6−1:13 lit %b
7−1:15 tight glyph )
8−1:16 NEWLINE
1+/tests/golden/lex-tight-opener-bad-3/source.jibb:1:7: `$?` is left out: a union is a `+$` with its cases below
2++$ x $? (%a %b)
3+ ^
tests/golden/lex-tight-opener-bad-3/tree.txt+2−2
@@ -1,3 +1,3 @@
1−/tests/golden/lex-tight-opener-bad-3/source.jibb:1:9: expected the end of the line, found `(`; `$?` takes its cases on deeper lines, one per line, or write $?(%a %b)
1+/tests/golden/lex-tight-opener-bad-3/source.jibb:1:7: `$?` is left out: a union is a `+$` with its cases below
22+$ x $? (%a %b)
3− ^
3+ ^
tests/golden/lex-tight-opener-bad-4/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: `$- (`: the gate mold's opener written with a space
33expect: error at 1:8 — `$-` has only the wide form $-(sample product), so `(` must follow it at once
tests/golden/lex-tight-opener-ok-1/about.txt+2−2
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
2−tests: the four openers, each tight: `~[`, `|=(`, `$?(` and `$-(`
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
2+tests: the three openers, each tight: `~[`, `|=(` and `$-(`
33expect: parses
tests/golden/lex-tight-opener-ok-1/source.jibb−1
@@ -1,4 +1,3 @@
11++ a ~[1 2]
22++ b |=(n (add n 1))
3−+$ c $?(%a %b)
43+$ d $-(@t @t)
tests/golden/lex-tight-opener-ok-1/tokens.txt+5−12
@@ -17,16 +17,9 @@
17172:20 tight glyph )
18183:1 NEWLINE
19193:1 glyph +$
20−3:4 name c
21−3:6 glyph $?(
22−3:9 tight lit %a
23−3:12 lit %b
20+3:4 name d
21+3:6 glyph $-(
22+3:9 tight aura @t
23+3:12 aura @t
24243:14 tight glyph )
25−4:1 NEWLINE
26−4:1 glyph +$
27−4:4 name d
28−4:6 glyph $-(
29−4:9 tight aura @t
30−4:12 aura @t
31−4:14 tight glyph )
32−4:15 NEWLINE
25+3:15 NEWLINE
tests/golden/lex-tight-opener-ok-1/tree.txt+2−4
@@ -6,7 +6,5 @@
66 (bind 2:9 n)
77 (group 2:11
88 (call 2:12 (wing 2:12 add) (wing 2:16 n) (lit 2:18 1)))))
9− (mold 3:1 c
10− (union 3:6 (const 3:9 %a) (const 3:12 %b)))
11− (mold 4:1 d
12− (fn 4:6 (aura 4:9 @t) (aura 4:12 @t))))
9+ (mold 3:1 d
10+ (fn 3:6 (aura 3:9 @t) (aura 3:12 @t))))
tests/golden/lex-tight-pair-bad-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: a pair written with spaces, `gap + %s2`
33expect: error at 1:12 — a pair takes no spaces, gap+%s2; after `gap ` the `+` starts no item
tests/golden/lex-tight-pair-bad-2/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: a pair whose operand is missing at the end of its line, with a definition below
33expect: error at 1:8 — a pair takes its operand right after the `+`, and no later line can supply it, so the text stops being valid at the end of line 1
tests/golden/lex-tight-pair-bad-3/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: a space inside a pair, then a bad character later on the line
33expect: error at 1:8 — the space after `+` breaks the pair before the `%[` is reached
tests/golden/lex-tight-pair-ok-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."; Literals, the Term-headed pair row: "`[%gap %s2]`, any operand after the `+`"
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."; Literals, the Term-headed pair row: "`[%gap %s2]`, any operand after the `+`"
22tests: the doc's `a+b`, then pairs whose operands are a term, a cell, a group, a unit, a list, an application path and a pair
33expect: parses: x is the pair a+b; y is a list of seven pairs, and nested+a+b nests to the right, as nested+(a+b)
tests/golden/lex-tight-qath-bad-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: `% /blog`: an application path written with a space
33expect: error at 1:7 — `%/` takes no space; `%` alone begins a term, a loobean or `%/`
tests/golden/lex-tight-qath-ok-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."; Literals, the Application path row: "`qath`, checked against routes and static files; no query or fragment"; the EBNF: `qath = "%/" [ asegment { "/" asegment } ] ;`
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."; Literals, the Application path row: "`qath`, checked against routes and static files; no query or fragment"; the EBNF: `qath = "%/" [ asegment { "/" asegment } ] ;`
22tests: the doc's `%/blog/(slug)`, the root `%/` with no segment, knots holding dots, an expression segment between knots, and an expression segment of one name
33expect: parses
tests/golden/lex-tight-unit-bad-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: a unit written with a space, `` ` x ``
33expect: error at 1:7 — a unit takes no space: the operand follows the ` at once
tests/golden/lex-tight-unit-ok-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."; Literals, the Unit row: `` `x ``, "`(unit A)`"
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."; Literals, the Unit row: `` `x ``, "`(unit A)`"
22tests: units of a string, a cell, a unit, an application path, a group and null (the doc's `` `x `` is inline-unit)
33expect: parses as a list of six units; ``c is a unit of a unit
tests/golden/lex-tight-wing-bad-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: a wing written with spaces, `title . p`
33expect: error at 1:12 — a wing takes no spaces, title.p; after `title ` the `.` starts no item
tests/golden/lex-tight-wing-ok-1/about.txt+1−1
@@ -1,3 +1,3 @@
1−source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$?(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
1+source: Grammar tab, Lexical rules: "Tight forms: `a+b`, `a.b`, `` `x ``, `|=%got` and the openers `~[`, `|=(`, `$-(` take no spaces. A `(` right after a wing is a change: `m(note=text)` changes, `m (note text)` calls. `%/` starts an application path, `%/blog/(slug)`."
22tests: the doc's `a.b`, then wings of three names, as a call's argument, and in a mold
33expect: parses
tests/lib/jibb.hoon+1389−1269
@@ -101,957 +101,1029 @@
101101/* src-27 %jibb /tests/golden/inline-fold-mold/source/jibb
102102/* tok-27 %txt /tests/golden/inline-fold-mold/tokens/txt
103103/* tre-27 %txt /tests/golden/inline-fold-mold/tree/txt
104−/* src-28 %jibb /tests/golden/inline-gate-mold/source/jibb
105−/* tok-28 %txt /tests/golden/inline-gate-mold/tokens/txt
106−/* tre-28 %txt /tests/golden/inline-gate-mold/tree/txt
107−/* src-29 %jibb /tests/golden/inline-gate-sample-binds/source/jibb
108−/* tok-29 %txt /tests/golden/inline-gate-sample-binds/tokens/txt
109−/* tre-29 %txt /tests/golden/inline-gate-sample-binds/tree/txt
110−/* src-30 %jibb /tests/golden/inline-gate-samples/source/jibb
111−/* tok-30 %txt /tests/golden/inline-gate-samples/tokens/txt
112−/* tre-30 %txt /tests/golden/inline-gate-samples/tree/txt
113−/* src-31 %jibb /tests/golden/inline-gate-wide/source/jibb
114−/* tok-31 %txt /tests/golden/inline-gate-wide/tokens/txt
115−/* tre-31 %txt /tests/golden/inline-gate-wide/tree/txt
116−/* src-32 %jibb /tests/golden/inline-generic-mold/source/jibb
117−/* tok-32 %txt /tests/golden/inline-generic-mold/tokens/txt
118−/* tre-32 %txt /tests/golden/inline-generic-mold/tree/txt
119−/* src-33 %jibb /tests/golden/inline-hex/source/jibb
120−/* tok-33 %txt /tests/golden/inline-hex/tokens/txt
121−/* tre-33 %txt /tests/golden/inline-hex/tree/txt
122−/* src-34 %jibb /tests/golden/inline-import-mark-face-bad/source/jibb
123−/* tok-34 %txt /tests/golden/inline-import-mark-face-bad/tokens/txt
124−/* tre-34 %txt /tests/golden/inline-import-mark-face-bad/tree/txt
125−/* src-35 %jibb /tests/golden/inline-import-root-bad/source/jibb
126−/* tok-35 %txt /tests/golden/inline-import-root-bad/tokens/txt
127−/* tre-35 %txt /tests/golden/inline-import-root-bad/tree/txt
128−/* src-36 %jibb /tests/golden/inline-imports-after-definition/source/jibb
129−/* tok-36 %txt /tests/golden/inline-imports-after-definition/tokens/txt
130−/* tre-36 %txt /tests/golden/inline-imports-after-definition/tree/txt
131−/* src-37 %jibb /tests/golden/inline-island/source/jibb
132−/* tok-37 %txt /tests/golden/inline-island/tokens/txt
133−/* tre-37 %txt /tests/golden/inline-island/tree/txt
134−/* src-38 %jibb /tests/golden/inline-kinds/source/jibb
135−/* tok-38 %txt /tests/golden/inline-kinds/tokens/txt
136−/* tre-38 %txt /tests/golden/inline-kinds/tree/txt
137−/* src-39 %jibb /tests/golden/inline-knot/source/jibb
138−/* tok-39 %txt /tests/golden/inline-knot/tokens/txt
139−/* tre-39 %txt /tests/golden/inline-knot/tree/txt
140−/* src-40 %jibb /tests/golden/inline-leftout-barcab/source/jibb
141−/* tok-40 %txt /tests/golden/inline-leftout-barcab/tokens/txt
142−/* tre-40 %txt /tests/golden/inline-leftout-barcab/tree/txt
143−/* src-41 %jibb /tests/golden/inline-leftout-barcen/source/jibb
144−/* tok-41 %txt /tests/golden/inline-leftout-barcen/tokens/txt
145−/* tre-41 %txt /tests/golden/inline-leftout-barcen/tree/txt
146−/* src-42 %jibb /tests/golden/inline-leftout-barcen-2/source/jibb
147−/* tok-42 %txt /tests/golden/inline-leftout-barcen-2/tokens/txt
148−/* tre-42 %txt /tests/golden/inline-leftout-barcen-2/tree/txt
149−/* src-43 %jibb /tests/golden/inline-leftout-barcen-3/source/jibb
150−/* tok-43 %txt /tests/golden/inline-leftout-barcen-3/tokens/txt
151−/* tre-43 %txt /tests/golden/inline-leftout-barcen-3/tree/txt
152−/* src-44 %jibb /tests/golden/inline-leftout-barhep/source/jibb
153−/* tok-44 %txt /tests/golden/inline-leftout-barhep/tokens/txt
154−/* tre-44 %txt /tests/golden/inline-leftout-barhep/tree/txt
155−/* src-45 %jibb /tests/golden/inline-leftout-bartar/source/jibb
156−/* tok-45 %txt /tests/golden/inline-leftout-bartar/tokens/txt
157−/* tre-45 %txt /tests/golden/inline-leftout-bartar/tree/txt
158−/* src-46 %jibb /tests/golden/inline-leftout-buc-paren/source/jibb
159−/* tok-46 %txt /tests/golden/inline-leftout-buc-paren/tokens/txt
160−/* tre-46 %txt /tests/golden/inline-leftout-buc-paren/tree/txt
161−/* src-47 %jibb /tests/golden/inline-leftout-buc-paren-2/source/jibb
162−/* tok-47 %txt /tests/golden/inline-leftout-buc-paren-2/tokens/txt
163−/* tre-47 %txt /tests/golden/inline-leftout-buc-paren-2/tree/txt
164−/* src-48 %jibb /tests/golden/inline-leftout-buc-paren-3/source/jibb
165−/* tok-48 %txt /tests/golden/inline-leftout-buc-paren-3/tokens/txt
166−/* tre-48 %txt /tests/golden/inline-leftout-buc-paren-3/tree/txt
167−/* src-49 %jibb /tests/golden/inline-leftout-buccen/source/jibb
168−/* tok-49 %txt /tests/golden/inline-leftout-buccen/tokens/txt
169−/* tre-49 %txt /tests/golden/inline-leftout-buccen/tree/txt
170−/* src-50 %jibb /tests/golden/inline-leftout-cencol/source/jibb
171−/* tok-50 %txt /tests/golden/inline-leftout-cencol/tokens/txt
172−/* tre-50 %txt /tests/golden/inline-leftout-cencol/tree/txt
173−/* src-51 %jibb /tests/golden/inline-leftout-cenhep/source/jibb
174−/* tok-51 %txt /tests/golden/inline-leftout-cenhep/tokens/txt
175−/* tre-51 %txt /tests/golden/inline-leftout-cenhep/tree/txt
176−/* src-52 %jibb /tests/golden/inline-leftout-centis/source/jibb
177−/* tok-52 %txt /tests/golden/inline-leftout-centis/tokens/txt
178−/* tre-52 %txt /tests/golden/inline-leftout-centis/tree/txt
179−/* src-53 %jibb /tests/golden/inline-leftout-colhep/source/jibb
180−/* tok-53 %txt /tests/golden/inline-leftout-colhep/tokens/txt
181−/* tre-53 %txt /tests/golden/inline-leftout-colhep/tree/txt
182−/* src-54 %jibb /tests/golden/inline-leftout-colon-wing/source/jibb
183−/* tok-54 %txt /tests/golden/inline-leftout-colon-wing/tokens/txt
184−/* tre-54 %txt /tests/golden/inline-leftout-colon-wing/tree/txt
185−/* src-55 %jibb /tests/golden/inline-leftout-colsig/source/jibb
186−/* tok-55 %txt /tests/golden/inline-leftout-colsig/tokens/txt
187−/* tre-55 %txt /tests/golden/inline-leftout-colsig/tree/txt
188−/* src-56 %jibb /tests/golden/inline-leftout-coltar/source/jibb
189−/* tok-56 %txt /tests/golden/inline-leftout-coltar/tokens/txt
190−/* tre-56 %txt /tests/golden/inline-leftout-coltar/tree/txt
191−/* src-57 %jibb /tests/golden/inline-leftout-dottar/source/jibb
192−/* tok-57 %txt /tests/golden/inline-leftout-dottar/tokens/txt
193−/* tre-57 %txt /tests/golden/inline-leftout-dottar/tree/txt
194−/* src-58 %jibb /tests/golden/inline-leftout-dottis/source/jibb
195−/* tok-58 %txt /tests/golden/inline-leftout-dottis/tokens/txt
196−/* tre-58 %txt /tests/golden/inline-leftout-dottis/tree/txt
197−/* src-59 %jibb /tests/golden/inline-leftout-faslus/source/jibb
198−/* tok-59 %txt /tests/golden/inline-leftout-faslus/tokens/txt
199−/* tre-59 %txt /tests/golden/inline-leftout-faslus/tree/txt
200−/* src-60 %jibb /tests/golden/inline-leftout-hephep/source/jibb
201−/* tok-60 %txt /tests/golden/inline-leftout-hephep/tokens/txt
202−/* tre-60 %txt /tests/golden/inline-leftout-hephep/tree/txt
203−/* src-61 %jibb /tests/golden/inline-leftout-kethep-wide/source/jibb
204−/* tok-61 %txt /tests/golden/inline-leftout-kethep-wide/tokens/txt
205−/* tre-61 %txt /tests/golden/inline-leftout-kethep-wide/tree/txt
206−/* src-62 %jibb /tests/golden/inline-leftout-kettar/source/jibb
207−/* tok-62 %txt /tests/golden/inline-leftout-kettar/tokens/txt
208−/* tre-62 %txt /tests/golden/inline-leftout-kettar/tree/txt
209−/* src-63 %jibb /tests/golden/inline-leftout-miccol/source/jibb
210−/* tok-63 %txt /tests/golden/inline-leftout-miccol/tokens/txt
211−/* tre-63 %txt /tests/golden/inline-leftout-miccol/tree/txt
212−/* src-64 %jibb /tests/golden/inline-leftout-sail/source/jibb
213−/* tok-64 %txt /tests/golden/inline-leftout-sail/tokens/txt
214−/* tre-64 %txt /tests/golden/inline-leftout-sail/tree/txt
215−/* src-65 %jibb /tests/golden/inline-leftout-sigbar/source/jibb
216−/* tok-65 %txt /tests/golden/inline-leftout-sigbar/tokens/txt
217−/* tre-65 %txt /tests/golden/inline-leftout-sigbar/tree/txt
218−/* src-66 %jibb /tests/golden/inline-leftout-signed-float-auras/source/jibb
219−/* tok-66 %txt /tests/golden/inline-leftout-signed-float-auras/tokens/txt
220−/* tre-66 %txt /tests/golden/inline-leftout-signed-float-auras/tree/txt
221−/* src-67 %jibb /tests/golden/inline-leftout-signed-float-auras-2/source/jibb
222−/* tok-67 %txt /tests/golden/inline-leftout-signed-float-auras-2/tokens/txt
223−/* tre-67 %txt /tests/golden/inline-leftout-signed-float-auras-2/tree/txt
224−/* src-68 %jibb /tests/golden/inline-leftout-sigpam-wide/source/jibb
225−/* tok-68 %txt /tests/golden/inline-leftout-sigpam-wide/tokens/txt
226−/* tre-68 %txt /tests/golden/inline-leftout-sigpam-wide/tree/txt
227−/* src-69 %jibb /tests/golden/inline-leftout-tis-paren/source/jibb
228−/* tok-69 %txt /tests/golden/inline-leftout-tis-paren/tokens/txt
229−/* tre-69 %txt /tests/golden/inline-leftout-tis-paren/tree/txt
230−/* src-70 %jibb /tests/golden/inline-leftout-tisfas/source/jibb
231−/* tok-70 %txt /tests/golden/inline-leftout-tisfas/tokens/txt
232−/* tre-70 %txt /tests/golden/inline-leftout-tisfas/tree/txt
233−/* src-71 %jibb /tests/golden/inline-leftout-tisgal/source/jibb
234−/* tok-71 %txt /tests/golden/inline-leftout-tisgal/tokens/txt
235−/* tre-71 %txt /tests/golden/inline-leftout-tisgal/tree/txt
236−/* src-72 %jibb /tests/golden/inline-leftout-tisgal-2/source/jibb
237−/* tok-72 %txt /tests/golden/inline-leftout-tisgal-2/tokens/txt
238−/* tre-72 %txt /tests/golden/inline-leftout-tisgal-2/tree/txt
239−/* src-73 %jibb /tests/golden/inline-leftout-tisgar/source/jibb
240−/* tok-73 %txt /tests/golden/inline-leftout-tisgar/tokens/txt
241−/* tre-73 %txt /tests/golden/inline-leftout-tisgar/tree/txt
242−/* src-74 %jibb /tests/golden/inline-leftout-tislus/source/jibb
243−/* tok-74 %txt /tests/golden/inline-leftout-tislus/tokens/txt
244−/* tre-74 %txt /tests/golden/inline-leftout-tislus/tree/txt
245−/* src-75 %jibb /tests/golden/inline-leftout-tistis/source/jibb
246−/* tok-75 %txt /tests/golden/inline-leftout-tistis/tokens/txt
247−/* tre-75 %txt /tests/golden/inline-leftout-tistis/tree/txt
248−/* src-76 %jibb /tests/golden/inline-leftout-wutcol/source/jibb
249−/* tok-76 %txt /tests/golden/inline-leftout-wutcol/tokens/txt
250−/* tre-76 %txt /tests/golden/inline-leftout-wutcol/tree/txt
251−/* src-77 %jibb /tests/golden/inline-leftout-wutcol-2/source/jibb
252−/* tok-77 %txt /tests/golden/inline-leftout-wutcol-2/tokens/txt
253−/* tre-77 %txt /tests/golden/inline-leftout-wutcol-2/tree/txt
254−/* src-78 %jibb /tests/golden/inline-leftout-wuthep-wide/source/jibb
255−/* tok-78 %txt /tests/golden/inline-leftout-wuthep-wide/tokens/txt
256−/* tre-78 %txt /tests/golden/inline-leftout-wuthep-wide/tree/txt
257−/* src-79 %jibb /tests/golden/inline-leftout-wutlus/source/jibb
258−/* tok-79 %txt /tests/golden/inline-leftout-wutlus/tokens/txt
259−/* tre-79 %txt /tests/golden/inline-leftout-wutlus/tree/txt
260−/* src-80 %jibb /tests/golden/inline-leftout-wutsig/source/jibb
261−/* tok-80 %txt /tests/golden/inline-leftout-wutsig/tokens/txt
262−/* tre-80 %txt /tests/golden/inline-leftout-wutsig/tree/txt
263−/* src-81 %jibb /tests/golden/inline-leftout-wutzap/source/jibb
264−/* tok-81 %txt /tests/golden/inline-leftout-wutzap/tokens/txt
265−/* tre-81 %txt /tests/golden/inline-leftout-wutzap/tree/txt
266−/* src-82 %jibb /tests/golden/inline-leftout-zap-not/source/jibb
267−/* tok-82 %txt /tests/golden/inline-leftout-zap-not/tokens/txt
268−/* tre-82 %txt /tests/golden/inline-leftout-zap-not/tree/txt
269−/* src-83 %jibb /tests/golden/inline-leftout-zap-not-2/source/jibb
270−/* tok-83 %txt /tests/golden/inline-leftout-zap-not-2/tokens/txt
271−/* tre-83 %txt /tests/golden/inline-leftout-zap-not-2/tree/txt
272−/* src-84 %jibb /tests/golden/inline-leftout-zapgar/source/jibb
273−/* tok-84 %txt /tests/golden/inline-leftout-zapgar/tokens/txt
274−/* tre-84 %txt /tests/golden/inline-leftout-zapgar/tree/txt
275−/* src-85 %jibb /tests/golden/inline-list/source/jibb
276−/* tok-85 %txt /tests/golden/inline-list/tokens/txt
277−/* tre-85 %txt /tests/golden/inline-list/tree/txt
278−/* src-86 %jibb /tests/golden/inline-list-parens/source/jibb
279−/* tok-86 %txt /tests/golden/inline-list-parens/tokens/txt
280−/* tre-86 %txt /tests/golden/inline-list-parens/tree/txt
281−/* src-87 %jibb /tests/golden/inline-literal-defaults/source/jibb
282−/* tok-87 %txt /tests/golden/inline-literal-defaults/tokens/txt
283−/* tre-87 %txt /tests/golden/inline-literal-defaults/tree/txt
284−/* src-88 %jibb /tests/golden/inline-load-slug/source/jibb
285−/* tok-88 %txt /tests/golden/inline-load-slug/tokens/txt
286−/* tre-88 %txt /tests/golden/inline-load-slug/tree/txt
287−/* src-89 %jibb /tests/golden/inline-local-names/source/jibb
288−/* tok-89 %txt /tests/golden/inline-local-names/tokens/txt
289−/* tre-89 %txt /tests/golden/inline-local-names/tree/txt
290−/* src-90 %jibb /tests/golden/inline-local-names-bodies/source/jibb
291−/* tok-90 %txt /tests/golden/inline-local-names-bodies/tokens/txt
292−/* tre-90 %txt /tests/golden/inline-local-names-bodies/tree/txt
293−/* src-91 %jibb /tests/golden/inline-loobean/source/jibb
294−/* tok-91 %txt /tests/golden/inline-loobean/tokens/txt
295−/* tre-91 %txt /tests/golden/inline-loobean/tree/txt
296−/* src-92 %jibb /tests/golden/inline-mark-digit/source/jibb
297−/* tok-92 %txt /tests/golden/inline-mark-digit/tokens/txt
298−/* tre-92 %txt /tests/golden/inline-mark-digit/tree/txt
299−/* src-93 %jibb /tests/golden/inline-module-definitions/source/jibb
300−/* tok-93 %txt /tests/golden/inline-module-definitions/tokens/txt
301−/* tre-93 %txt /tests/golden/inline-module-definitions/tree/txt
302−/* src-94 %jibb /tests/golden/inline-mold-add/source/jibb
303−/* tok-94 %txt /tests/golden/inline-mold-add/tokens/txt
304−/* tre-94 %txt /tests/golden/inline-mold-add/tree/txt
305−/* src-95 %jibb /tests/golden/inline-mold-any-empty/source/jibb
306−/* tok-95 %txt /tests/golden/inline-mold-any-empty/tokens/txt
307−/* tre-95 %txt /tests/golden/inline-mold-any-empty/tree/txt
308−/* src-96 %jibb /tests/golden/inline-mold-atoms/source/jibb
309−/* tok-96 %txt /tests/golden/inline-mold-atoms/tokens/txt
310−/* tre-96 %txt /tests/golden/inline-mold-atoms/tree/txt
311−/* src-97 %jibb /tests/golden/inline-mold-constants/source/jibb
312−/* tok-97 %txt /tests/golden/inline-mold-constants/tokens/txt
313−/* tre-97 %txt /tests/golden/inline-mold-constants/tree/txt
314−/* src-98 %jibb /tests/golden/inline-mold-containers/source/jibb
315−/* tok-98 %txt /tests/golden/inline-mold-containers/tokens/txt
316−/* tre-98 %txt /tests/golden/inline-mold-containers/tree/txt
317−/* src-99 %jibb /tests/golden/inline-mold-gate/source/jibb
318−/* tok-99 %txt /tests/golden/inline-mold-gate/tokens/txt
319−/* tre-99 %txt /tests/golden/inline-mold-gate/tree/txt
320−/* src-100 %jibb /tests/golden/inline-mold-generic/source/jibb
321−/* tok-100 %txt /tests/golden/inline-mold-generic/tokens/txt
322−/* tre-100 %txt /tests/golden/inline-mold-generic/tree/txt
323−/* src-101 %jibb /tests/golden/inline-mold-opaque/source/jibb
324−/* tok-101 %txt /tests/golden/inline-mold-opaque/tokens/txt
325−/* tre-101 %txt /tests/golden/inline-mold-opaque/tree/txt
326−/* src-102 %jibb /tests/golden/inline-mold-paths/source/jibb
327−/* tok-102 %txt /tests/golden/inline-mold-paths/tokens/txt
328−/* tre-102 %txt /tests/golden/inline-mold-paths/tree/txt
329−/* src-103 %jibb /tests/golden/inline-mold-records/source/jibb
330−/* tok-103 %txt /tests/golden/inline-mold-records/tokens/txt
331−/* tre-103 %txt /tests/golden/inline-mold-records/tree/txt
332−/* src-104 %jibb /tests/golden/inline-namespaces/source/jibb
333−/* tok-104 %txt /tests/golden/inline-namespaces/tokens/txt
334−/* tre-104 %txt /tests/golden/inline-namespaces/tree/txt
335−/* src-105 %jibb /tests/golden/inline-no-operators/source/jibb
336−/* tok-105 %txt /tests/golden/inline-no-operators/tokens/txt
337−/* tre-105 %txt /tests/golden/inline-no-operators/tree/txt
338−/* src-106 %jibb /tests/golden/inline-no-subs/source/jibb
339−/* tok-106 %txt /tests/golden/inline-no-subs/tokens/txt
340−/* tre-106 %txt /tests/golden/inline-no-subs/tree/txt
341−/* src-107 %jibb /tests/golden/inline-null/source/jibb
342−/* tok-107 %txt /tests/golden/inline-null/tokens/txt
343−/* tre-107 %txt /tests/golden/inline-null/tree/txt
344−/* src-108 %jibb /tests/golden/inline-pair/source/jibb
345−/* tok-108 %txt /tests/golden/inline-pair/tokens/txt
346−/* tre-108 %txt /tests/golden/inline-pair/tree/txt
347−/* src-109 %jibb /tests/golden/inline-pairs-two-items/source/jibb
348−/* tok-109 %txt /tests/golden/inline-pairs-two-items/tokens/txt
349−/* tre-109 %txt /tests/golden/inline-pairs-two-items/tree/txt
350−/* src-110 %jibb /tests/golden/inline-path/source/jibb
351−/* tok-110 %txt /tests/golden/inline-path/tokens/txt
352−/* tre-110 %txt /tests/golden/inline-path/tree/txt
353−/* src-111 %jibb /tests/golden/inline-pattern-any/source/jibb
354−/* tok-111 %txt /tests/golden/inline-pattern-any/tokens/txt
355−/* tre-111 %txt /tests/golden/inline-pattern-any/tree/txt
356−/* src-112 %jibb /tests/golden/inline-pattern-cell/source/jibb
357−/* tok-112 %txt /tests/golden/inline-pattern-cell/tokens/txt
358−/* tre-112 %txt /tests/golden/inline-pattern-cell/tree/txt
359−/* src-113 %jibb /tests/golden/inline-pattern-cell-open-bad/source/jibb
360−/* tok-113 %txt /tests/golden/inline-pattern-cell-open-bad/tokens/txt
361−/* tre-113 %txt /tests/golden/inline-pattern-cell-open-bad/tree/txt
362−/* src-114 %jibb /tests/golden/inline-pattern-crash-arm/source/jibb
363−/* tok-114 %txt /tests/golden/inline-pattern-crash-arm/tokens/txt
364−/* tre-114 %txt /tests/golden/inline-pattern-crash-arm/tree/txt
365−/* src-115 %jibb /tests/golden/inline-pattern-crash-bad/source/jibb
366−/* tok-115 %txt /tests/golden/inline-pattern-crash-bad/tokens/txt
367−/* tre-115 %txt /tests/golden/inline-pattern-crash-bad/tree/txt
368−/* src-116 %jibb /tests/golden/inline-pattern-date-bad/source/jibb
369−/* tok-116 %txt /tests/golden/inline-pattern-date-bad/tokens/txt
370−/* tre-116 %txt /tests/golden/inline-pattern-date-bad/tree/txt
371−/* src-117 %jibb /tests/golden/inline-pattern-duration-bad/source/jibb
372−/* tok-117 %txt /tests/golden/inline-pattern-duration-bad/tokens/txt
373−/* tre-117 %txt /tests/golden/inline-pattern-duration-bad/tree/txt
374−/* src-118 %jibb /tests/golden/inline-pattern-eq/source/jibb
375−/* tok-118 %txt /tests/golden/inline-pattern-eq/tokens/txt
376−/* tre-118 %txt /tests/golden/inline-pattern-eq/tree/txt
377−/* src-119 %jibb /tests/golden/inline-pattern-face-bad/source/jibb
378−/* tok-119 %txt /tests/golden/inline-pattern-face-bad/tokens/txt
379−/* tre-119 %txt /tests/golden/inline-pattern-face-bad/tree/txt
380−/* src-120 %jibb /tests/golden/inline-pattern-head-tag/source/jibb
381−/* tok-120 %txt /tests/golden/inline-pattern-head-tag/tokens/txt
382−/* tre-120 %txt /tests/golden/inline-pattern-head-tag/tree/txt
383−/* src-121 %jibb /tests/golden/inline-pattern-interpolated-bad/source/jibb
384−/* tok-121 %txt /tests/golden/inline-pattern-interpolated-bad/tokens/txt
385−/* tre-121 %txt /tests/golden/inline-pattern-interpolated-bad/tree/txt
386−/* src-122 %jibb /tests/golden/inline-pattern-list-bad/source/jibb
387−/* tok-122 %txt /tests/golden/inline-pattern-list-bad/tokens/txt
388−/* tre-122 %txt /tests/golden/inline-pattern-list-bad/tree/txt
389−/* src-123 %jibb /tests/golden/inline-pattern-literals/source/jibb
390−/* tok-123 %txt /tests/golden/inline-pattern-literals/tokens/txt
391−/* tre-123 %txt /tests/golden/inline-pattern-literals/tree/txt
392−/* src-124 %jibb /tests/golden/inline-pattern-loobean/source/jibb
393−/* tok-124 %txt /tests/golden/inline-pattern-loobean/tokens/txt
394−/* tre-124 %txt /tests/golden/inline-pattern-loobean/tree/txt
395−/* src-125 %jibb /tests/golden/inline-pattern-move-any/source/jibb
396−/* tok-125 %txt /tests/golden/inline-pattern-move-any/tokens/txt
397−/* tre-125 %txt /tests/golden/inline-pattern-move-any/tree/txt
398−/* src-126 %jibb /tests/golden/inline-pattern-name/source/jibb
399−/* tok-126 %txt /tests/golden/inline-pattern-name/tokens/txt
400−/* tre-126 %txt /tests/golden/inline-pattern-name/tree/txt
401−/* src-127 %jibb /tests/golden/inline-pattern-null/source/jibb
402−/* tok-127 %txt /tests/golden/inline-pattern-null/tokens/txt
403−/* tre-127 %txt /tests/golden/inline-pattern-null/tree/txt
404−/* src-128 %jibb /tests/golden/inline-pattern-pair-bad/source/jibb
405−/* tok-128 %txt /tests/golden/inline-pattern-pair-bad/tokens/txt
406−/* tre-128 %txt /tests/golden/inline-pattern-pair-bad/tree/txt
407−/* src-129 %jibb /tests/golden/inline-pattern-tail-tag/source/jibb
408−/* tok-129 %txt /tests/golden/inline-pattern-tail-tag/tokens/txt
409−/* tre-129 %txt /tests/golden/inline-pattern-tail-tag/tree/txt
410−/* src-130 %jibb /tests/golden/inline-pattern-term/source/jibb
411−/* tok-130 %txt /tests/golden/inline-pattern-term/tokens/txt
412−/* tre-130 %txt /tests/golden/inline-pattern-term/tree/txt
413−/* src-131 %jibb /tests/golden/inline-pattern-two-tags/source/jibb
414−/* tok-131 %txt /tests/golden/inline-pattern-two-tags/tokens/txt
415−/* tre-131 %txt /tests/golden/inline-pattern-two-tags/tree/txt
416−/* src-132 %jibb /tests/golden/inline-pattern-unit/source/jibb
417−/* tok-132 %txt /tests/golden/inline-pattern-unit/tokens/txt
418−/* tre-132 %txt /tests/golden/inline-pattern-unit/tree/txt
419−/* src-133 %jibb /tests/golden/inline-qath/source/jibb
420−/* tok-133 %txt /tests/golden/inline-qath/tokens/txt
421−/* tre-133 %txt /tests/golden/inline-qath/tree/txt
422−/* src-134 %jibb /tests/golden/inline-requests/source/jibb
423−/* tok-134 %txt /tests/golden/inline-requests/tokens/txt
424−/* tre-134 %txt /tests/golden/inline-requests/tree/txt
425−/* src-135 %jibb /tests/golden/inline-scry-case/source/jibb
426−/* tok-135 %txt /tests/golden/inline-scry-case/tokens/txt
427−/* tre-135 %txt /tests/golden/inline-scry-case/tree/txt
428−/* src-136 %jibb /tests/golden/inline-self-reference/source/jibb
429−/* tok-136 %txt /tests/golden/inline-self-reference/tokens/txt
430−/* tre-136 %txt /tests/golden/inline-self-reference/tree/txt
431−/* src-137 %jibb /tests/golden/inline-ship/source/jibb
432−/* tok-137 %txt /tests/golden/inline-ship/tokens/txt
433−/* tre-137 %txt /tests/golden/inline-ship/tree/txt
434−/* src-138 %jibb /tests/golden/inline-static-image/source/jibb
435−/* tok-138 %txt /tests/golden/inline-static-image/tokens/txt
436−/* tre-138 %txt /tests/golden/inline-static-image/tree/txt
437−/* src-139 %jibb /tests/golden/inline-string/source/jibb
438−/* tok-139 %txt /tests/golden/inline-string/tokens/txt
439−/* tre-139 %txt /tests/golden/inline-string/tree/txt
440−/* src-140 %jibb /tests/golden/inline-tag-shape/source/jibb
441−/* tok-140 %txt /tests/golden/inline-tag-shape/tokens/txt
442−/* tre-140 %txt /tests/golden/inline-tag-shape/tree/txt
443−/* src-141 %jibb /tests/golden/inline-term/source/jibb
444−/* tok-141 %txt /tests/golden/inline-term/tokens/txt
445−/* tre-141 %txt /tests/golden/inline-term/tree/txt
446−/* src-142 %jibb /tests/golden/inline-term-numeric/source/jibb
447−/* tok-142 %txt /tests/golden/inline-term-numeric/tokens/txt
448−/* tre-142 %txt /tests/golden/inline-term-numeric/tree/txt
449−/* src-143 %jibb /tests/golden/inline-text-items/source/jibb
450−/* tok-143 %txt /tests/golden/inline-text-items/tokens/txt
451−/* tre-143 %txt /tests/golden/inline-text-items/tree/txt
452−/* src-144 %jibb /tests/golden/inline-union-wide/source/jibb
453−/* tok-144 %txt /tests/golden/inline-union-wide/tokens/txt
454−/* tre-144 %txt /tests/golden/inline-union-wide/tree/txt
455−/* src-145 %jibb /tests/golden/inline-unit/source/jibb
456−/* tok-145 %txt /tests/golden/inline-unit/tokens/txt
457−/* tre-145 %txt /tests/golden/inline-unit/tree/txt
458−/* src-146 %jibb /tests/golden/inline-wide-form-rune-bad/source/jibb
459−/* tok-146 %txt /tests/golden/inline-wide-form-rune-bad/tokens/txt
460−/* tre-146 %txt /tests/golden/inline-wide-form-rune-bad/tree/txt
461−/* src-147 %jibb /tests/golden/inline-wide-forms/source/jibb
462−/* tok-147 %txt /tests/golden/inline-wide-forms/tokens/txt
463−/* tre-147 %txt /tests/golden/inline-wide-forms/tree/txt
464−/* src-148 %jibb /tests/golden/inline-wide-union-call/source/jibb
465−/* tok-148 %txt /tests/golden/inline-wide-union-call/tokens/txt
466−/* tre-148 %txt /tests/golden/inline-wide-union-call/tree/txt
467−/* src-149 %jibb /tests/golden/inline-wings/source/jibb
468−/* tok-149 %txt /tests/golden/inline-wings/tokens/txt
469−/* tre-149 %txt /tests/golden/inline-wings/tree/txt
470−/* src-150 %jibb /tests/golden/lex-base32-bad-1/source/jibb
471−/* tok-150 %txt /tests/golden/lex-base32-bad-1/tokens/txt
472−/* tre-150 %txt /tests/golden/lex-base32-bad-1/tree/txt
473−/* src-151 %jibb /tests/golden/lex-base32-ok-1/source/jibb
474−/* tok-151 %txt /tests/golden/lex-base32-ok-1/tokens/txt
475−/* tre-151 %txt /tests/golden/lex-base32-ok-1/tree/txt
476−/* src-152 %jibb /tests/golden/lex-blob-bad-1/source/jibb
477−/* tok-152 %txt /tests/golden/lex-blob-bad-1/tokens/txt
478−/* tre-152 %txt /tests/golden/lex-blob-bad-1/tree/txt
479−/* src-153 %jibb /tests/golden/lex-call-open-bad-1/source/jibb
480−/* tok-153 %txt /tests/golden/lex-call-open-bad-1/tokens/txt
481−/* tre-153 %txt /tests/golden/lex-call-open-bad-1/tree/txt
482−/* src-154 %jibb /tests/golden/lex-call-open-bad-2/source/jibb
483−/* tok-154 %txt /tests/golden/lex-call-open-bad-2/tokens/txt
484−/* tre-154 %txt /tests/golden/lex-call-open-bad-2/tree/txt
485−/* src-155 %jibb /tests/golden/lex-call-open-bad-4/source/jibb
486−/* tok-155 %txt /tests/golden/lex-call-open-bad-4/tokens/txt
487−/* tre-155 %txt /tests/golden/lex-call-open-bad-4/tree/txt
488−/* src-156 %jibb /tests/golden/lex-call-open-ok-1/source/jibb
489−/* tok-156 %txt /tests/golden/lex-call-open-ok-1/tokens/txt
490−/* tre-156 %txt /tests/golden/lex-call-open-ok-1/tree/txt
491−/* src-157 %jibb /tests/golden/lex-call-open-ok-2/source/jibb
492−/* tok-157 %txt /tests/golden/lex-call-open-ok-2/tokens/txt
493−/* tre-157 %txt /tests/golden/lex-call-open-ok-2/tree/txt
494−/* src-158 %jibb /tests/golden/lex-cell-bad-1/source/jibb
495−/* tok-158 %txt /tests/golden/lex-cell-bad-1/tokens/txt
496−/* tre-158 %txt /tests/golden/lex-cell-bad-1/tree/txt
497−/* src-159 %jibb /tests/golden/lex-cell-ok-1/source/jibb
498−/* tok-159 %txt /tests/golden/lex-cell-ok-1/tokens/txt
499−/* tre-159 %txt /tests/golden/lex-cell-ok-1/tree/txt
500−/* src-160 %jibb /tests/golden/lex-closer-bad-1/source/jibb
501−/* tok-160 %txt /tests/golden/lex-closer-bad-1/tokens/txt
502−/* tre-160 %txt /tests/golden/lex-closer-bad-1/tree/txt
503−/* src-161 %jibb /tests/golden/lex-closer-bad-2/source/jibb
504−/* tok-161 %txt /tests/golden/lex-closer-bad-2/tokens/txt
505−/* tre-161 %txt /tests/golden/lex-closer-bad-2/tree/txt
506−/* src-162 %jibb /tests/golden/lex-closer-bad-3/source/jibb
507−/* tok-162 %txt /tests/golden/lex-closer-bad-3/tokens/txt
508−/* tre-162 %txt /tests/golden/lex-closer-bad-3/tree/txt
509−/* src-163 %jibb /tests/golden/lex-closer-bad-4/source/jibb
510−/* tok-163 %txt /tests/golden/lex-closer-bad-4/tokens/txt
511−/* tre-163 %txt /tests/golden/lex-closer-bad-4/tree/txt
512−/* src-164 %jibb /tests/golden/lex-codepoint-bad-1/source/jibb
513−/* tok-164 %txt /tests/golden/lex-codepoint-bad-1/tokens/txt
514−/* tre-164 %txt /tests/golden/lex-codepoint-bad-1/tree/txt
515−/* src-165 %jibb /tests/golden/lex-comment-bad-1/source/jibb
516−/* tok-165 %txt /tests/golden/lex-comment-bad-1/tokens/txt
517−/* tre-165 %txt /tests/golden/lex-comment-bad-1/tree/txt
518−/* src-166 %jibb /tests/golden/lex-comment-ok-1/source/jibb
519−/* tok-166 %txt /tests/golden/lex-comment-ok-1/tokens/txt
520−/* tre-166 %txt /tests/golden/lex-comment-ok-1/tree/txt
521−/* src-167 %jibb /tests/golden/lex-comment-ok-2/source/jibb
522−/* tok-167 %txt /tests/golden/lex-comment-ok-2/tokens/txt
523−/* tre-167 %txt /tests/golden/lex-comment-ok-2/tree/txt
524−/* src-168 %jibb /tests/golden/lex-comment-ok-3/source/jibb
525−/* tok-168 %txt /tests/golden/lex-comment-ok-3/tokens/txt
526−/* tre-168 %txt /tests/golden/lex-comment-ok-3/tree/txt
527−/* src-169 %jibb /tests/golden/lex-date-bad-1/source/jibb
528−/* tok-169 %txt /tests/golden/lex-date-bad-1/tokens/txt
529−/* tre-169 %txt /tests/golden/lex-date-bad-1/tree/txt
530−/* src-170 %jibb /tests/golden/lex-date-bad-2/source/jibb
531−/* tok-170 %txt /tests/golden/lex-date-bad-2/tokens/txt
532−/* tre-170 %txt /tests/golden/lex-date-bad-2/tree/txt
533−/* src-171 %jibb /tests/golden/lex-date-bad-3/source/jibb
534−/* tok-171 %txt /tests/golden/lex-date-bad-3/tokens/txt
535−/* tre-171 %txt /tests/golden/lex-date-bad-3/tree/txt
536−/* src-172 %jibb /tests/golden/lex-date-ok-1/source/jibb
537−/* tok-172 %txt /tests/golden/lex-date-ok-1/tokens/txt
538−/* tre-172 %txt /tests/golden/lex-date-ok-1/tree/txt
539−/* src-173 %jibb /tests/golden/lex-date-ok-2/source/jibb
540−/* tok-173 %txt /tests/golden/lex-date-ok-2/tokens/txt
541−/* tre-173 %txt /tests/golden/lex-date-ok-2/tree/txt
542−/* src-174 %jibb /tests/golden/lex-decimal-bad-1/source/jibb
543−/* tok-174 %txt /tests/golden/lex-decimal-bad-1/tokens/txt
544−/* tre-174 %txt /tests/golden/lex-decimal-bad-1/tree/txt
545−/* src-175 %jibb /tests/golden/lex-decimal-bad-2/source/jibb
546−/* tok-175 %txt /tests/golden/lex-decimal-bad-2/tokens/txt
547−/* tre-175 %txt /tests/golden/lex-decimal-bad-2/tree/txt
548−/* src-176 %jibb /tests/golden/lex-decimal-ok-1/source/jibb
549−/* tok-176 %txt /tests/golden/lex-decimal-ok-1/tokens/txt
550−/* tre-176 %txt /tests/golden/lex-decimal-ok-1/tree/txt
551−/* src-177 %jibb /tests/golden/lex-duration-bad-1/source/jibb
552−/* tok-177 %txt /tests/golden/lex-duration-bad-1/tokens/txt
553−/* tre-177 %txt /tests/golden/lex-duration-bad-1/tree/txt
554−/* src-178 %jibb /tests/golden/lex-duration-bad-2/source/jibb
555−/* tok-178 %txt /tests/golden/lex-duration-bad-2/tokens/txt
556−/* tre-178 %txt /tests/golden/lex-duration-bad-2/tree/txt
557−/* src-179 %jibb /tests/golden/lex-duration-ok-1/source/jibb
558−/* tok-179 %txt /tests/golden/lex-duration-ok-1/tokens/txt
559−/* tre-179 %txt /tests/golden/lex-duration-ok-1/tree/txt
560−/* src-180 %jibb /tests/golden/lex-hex-bad-1/source/jibb
561−/* tok-180 %txt /tests/golden/lex-hex-bad-1/tokens/txt
562−/* tre-180 %txt /tests/golden/lex-hex-bad-1/tree/txt
563−/* src-181 %jibb /tests/golden/lex-hex-ok-1/source/jibb
564−/* tok-181 %txt /tests/golden/lex-hex-ok-1/tokens/txt
565−/* tre-181 %txt /tests/golden/lex-hex-ok-1/tree/txt
566−/* src-182 %jibb /tests/golden/lex-indent-bad-1/source/jibb
567−/* tok-182 %txt /tests/golden/lex-indent-bad-1/tokens/txt
568−/* tre-182 %txt /tests/golden/lex-indent-bad-1/tree/txt
569−/* src-183 %jibb /tests/golden/lex-indent-bad-2/source/jibb
570−/* tok-183 %txt /tests/golden/lex-indent-bad-2/tokens/txt
571−/* tre-183 %txt /tests/golden/lex-indent-bad-2/tree/txt
572−/* src-184 %jibb /tests/golden/lex-indent-bad-3/source/jibb
573−/* tok-184 %txt /tests/golden/lex-indent-bad-3/tokens/txt
574−/* tre-184 %txt /tests/golden/lex-indent-bad-3/tree/txt
575−/* src-185 %jibb /tests/golden/lex-indent-ok-1/source/jibb
576−/* tok-185 %txt /tests/golden/lex-indent-ok-1/tokens/txt
577−/* tre-185 %txt /tests/golden/lex-indent-ok-1/tree/txt
578−/* src-186 %jibb /tests/golden/lex-indent-ok-2/source/jibb
579−/* tok-186 %txt /tests/golden/lex-indent-ok-2/tokens/txt
580−/* tre-186 %txt /tests/golden/lex-indent-ok-2/tree/txt
581−/* src-187 %jibb /tests/golden/lex-indent-ok-3/source/jibb
582−/* tok-187 %txt /tests/golden/lex-indent-ok-3/tokens/txt
583−/* tre-187 %txt /tests/golden/lex-indent-ok-3/tree/txt
584−/* src-188 %jibb /tests/golden/lex-interp-bad-1/source/jibb
585−/* tok-188 %txt /tests/golden/lex-interp-bad-1/tokens/txt
586−/* tre-188 %txt /tests/golden/lex-interp-bad-1/tree/txt
587−/* src-189 %jibb /tests/golden/lex-interp-bad-2/source/jibb
588−/* tok-189 %txt /tests/golden/lex-interp-bad-2/tokens/txt
589−/* tre-189 %txt /tests/golden/lex-interp-bad-2/tree/txt
590−/* src-190 %jibb /tests/golden/lex-interp-bad-3/source/jibb
591−/* tok-190 %txt /tests/golden/lex-interp-bad-3/tokens/txt
592−/* tre-190 %txt /tests/golden/lex-interp-bad-3/tree/txt
593−/* src-191 %jibb /tests/golden/lex-interp-bad-5/source/jibb
594−/* tok-191 %txt /tests/golden/lex-interp-bad-5/tokens/txt
595−/* tre-191 %txt /tests/golden/lex-interp-bad-5/tree/txt
596−/* src-192 %jibb /tests/golden/lex-interp-bad-6/source/jibb
597−/* tok-192 %txt /tests/golden/lex-interp-bad-6/tokens/txt
598−/* tre-192 %txt /tests/golden/lex-interp-bad-6/tree/txt
599−/* src-193 %jibb /tests/golden/lex-interp-ok-1/source/jibb
600−/* tok-193 %txt /tests/golden/lex-interp-ok-1/tokens/txt
601−/* tre-193 %txt /tests/golden/lex-interp-ok-1/tree/txt
602−/* src-194 %jibb /tests/golden/lex-interp-ok-2/source/jibb
603−/* tok-194 %txt /tests/golden/lex-interp-ok-2/tokens/txt
604−/* tre-194 %txt /tests/golden/lex-interp-ok-2/tree/txt
605−/* src-195 %jibb /tests/golden/lex-interp-ok-3/source/jibb
606−/* tok-195 %txt /tests/golden/lex-interp-ok-3/tokens/txt
607−/* tre-195 %txt /tests/golden/lex-interp-ok-3/tree/txt
608−/* src-196 %jibb /tests/golden/lex-knot-bad-1/source/jibb
609−/* tok-196 %txt /tests/golden/lex-knot-bad-1/tokens/txt
610−/* tre-196 %txt /tests/golden/lex-knot-bad-1/tree/txt
611−/* src-197 %jibb /tests/golden/lex-knot-ok-1/source/jibb
612−/* tok-197 %txt /tests/golden/lex-knot-ok-1/tokens/txt
613−/* tre-197 %txt /tests/golden/lex-knot-ok-1/tree/txt
614−/* src-198 %jibb /tests/golden/lex-layout-bad-1/source/jibb
615−/* tok-198 %txt /tests/golden/lex-layout-bad-1/tokens/txt
616−/* tre-198 %txt /tests/golden/lex-layout-bad-1/tree/txt
617−/* src-199 %jibb /tests/golden/lex-layout-bad-10/source/jibb
618−/* tok-199 %txt /tests/golden/lex-layout-bad-10/tokens/txt
619−/* tre-199 %txt /tests/golden/lex-layout-bad-10/tree/txt
620−/* src-200 %jibb /tests/golden/lex-layout-bad-2/source/jibb
621−/* tok-200 %txt /tests/golden/lex-layout-bad-2/tokens/txt
622−/* tre-200 %txt /tests/golden/lex-layout-bad-2/tree/txt
623−/* src-201 %jibb /tests/golden/lex-layout-bad-3/source/jibb
624−/* tok-201 %txt /tests/golden/lex-layout-bad-3/tokens/txt
625−/* tre-201 %txt /tests/golden/lex-layout-bad-3/tree/txt
626−/* src-202 %jibb /tests/golden/lex-layout-bad-4/source/jibb
627−/* tok-202 %txt /tests/golden/lex-layout-bad-4/tokens/txt
628−/* tre-202 %txt /tests/golden/lex-layout-bad-4/tree/txt
629−/* src-203 %jibb /tests/golden/lex-layout-bad-5/source/jibb
630−/* tok-203 %txt /tests/golden/lex-layout-bad-5/tokens/txt
631−/* tre-203 %txt /tests/golden/lex-layout-bad-5/tree/txt
632−/* src-204 %jibb /tests/golden/lex-layout-bad-6/source/jibb
633−/* tok-204 %txt /tests/golden/lex-layout-bad-6/tokens/txt
634−/* tre-204 %txt /tests/golden/lex-layout-bad-6/tree/txt
635−/* src-205 %jibb /tests/golden/lex-layout-bad-7/source/jibb
636−/* tok-205 %txt /tests/golden/lex-layout-bad-7/tokens/txt
637−/* tre-205 %txt /tests/golden/lex-layout-bad-7/tree/txt
638−/* src-206 %jibb /tests/golden/lex-layout-bad-8/source/jibb
639−/* tok-206 %txt /tests/golden/lex-layout-bad-8/tokens/txt
640−/* tre-206 %txt /tests/golden/lex-layout-bad-8/tree/txt
641−/* src-207 %jibb /tests/golden/lex-layout-bad-9/source/jibb
642−/* tok-207 %txt /tests/golden/lex-layout-bad-9/tokens/txt
643−/* tre-207 %txt /tests/golden/lex-layout-bad-9/tree/txt
644−/* src-208 %jibb /tests/golden/lex-layout-ok-1/source/jibb
645−/* tok-208 %txt /tests/golden/lex-layout-ok-1/tokens/txt
646−/* tre-208 %txt /tests/golden/lex-layout-ok-1/tree/txt
647−/* src-209 %jibb /tests/golden/lex-list-bad-1/source/jibb
648−/* tok-209 %txt /tests/golden/lex-list-bad-1/tokens/txt
649−/* tre-209 %txt /tests/golden/lex-list-bad-1/tree/txt
650−/* src-210 %jibb /tests/golden/lex-list-ok-1/source/jibb
651−/* tok-210 %txt /tests/golden/lex-list-ok-1/tokens/txt
652−/* tre-210 %txt /tests/golden/lex-list-ok-1/tree/txt
653−/* src-211 %jibb /tests/golden/lex-loobean-bad-1/source/jibb
654−/* tok-211 %txt /tests/golden/lex-loobean-bad-1/tokens/txt
655−/* tre-211 %txt /tests/golden/lex-loobean-bad-1/tree/txt
656−/* src-212 %jibb /tests/golden/lex-loobean-ok-1/source/jibb
657−/* tok-212 %txt /tests/golden/lex-loobean-ok-1/tokens/txt
658−/* tre-212 %txt /tests/golden/lex-loobean-ok-1/tree/txt
659−/* src-213 %jibb /tests/golden/lex-name-bad-1/source/jibb
660−/* tok-213 %txt /tests/golden/lex-name-bad-1/tokens/txt
661−/* tre-213 %txt /tests/golden/lex-name-bad-1/tree/txt
662−/* src-214 %jibb /tests/golden/lex-name-bad-2/source/jibb
663−/* tok-214 %txt /tests/golden/lex-name-bad-2/tokens/txt
664−/* tre-214 %txt /tests/golden/lex-name-bad-2/tree/txt
665−/* src-215 %jibb /tests/golden/lex-name-bad-3/source/jibb
666−/* tok-215 %txt /tests/golden/lex-name-bad-3/tokens/txt
667−/* tre-215 %txt /tests/golden/lex-name-bad-3/tree/txt
668−/* src-216 %jibb /tests/golden/lex-name-bad-4/source/jibb
669−/* tok-216 %txt /tests/golden/lex-name-bad-4/tokens/txt
670−/* tre-216 %txt /tests/golden/lex-name-bad-4/tree/txt
671−/* src-217 %jibb /tests/golden/lex-name-bad-5/source/jibb
672−/* tok-217 %txt /tests/golden/lex-name-bad-5/tokens/txt
673−/* tre-217 %txt /tests/golden/lex-name-bad-5/tree/txt
674−/* src-218 %jibb /tests/golden/lex-name-bad-6/source/jibb
675−/* tok-218 %txt /tests/golden/lex-name-bad-6/tokens/txt
676−/* tre-218 %txt /tests/golden/lex-name-bad-6/tree/txt
677−/* src-219 %jibb /tests/golden/lex-name-ok-1/source/jibb
678−/* tok-219 %txt /tests/golden/lex-name-ok-1/tokens/txt
679−/* tre-219 %txt /tests/golden/lex-name-ok-1/tree/txt
680−/* src-220 %jibb /tests/golden/lex-null-bad-1/source/jibb
681−/* tok-220 %txt /tests/golden/lex-null-bad-1/tokens/txt
682−/* tre-220 %txt /tests/golden/lex-null-bad-1/tree/txt
683−/* src-221 %jibb /tests/golden/lex-null-bad-2/source/jibb
684−/* tok-221 %txt /tests/golden/lex-null-bad-2/tokens/txt
685−/* tre-221 %txt /tests/golden/lex-null-bad-2/tree/txt
686−/* src-222 %jibb /tests/golden/lex-null-ok-1/source/jibb
687−/* tok-222 %txt /tests/golden/lex-null-ok-1/tokens/txt
688−/* tre-222 %txt /tests/golden/lex-null-ok-1/tree/txt
689−/* src-223 %jibb /tests/golden/lex-open-bracket-bad-1/source/jibb
690−/* tok-223 %txt /tests/golden/lex-open-bracket-bad-1/tokens/txt
691−/* tre-223 %txt /tests/golden/lex-open-bracket-bad-1/tree/txt
692−/* src-224 %jibb /tests/golden/lex-open-bracket-bad-10/source/jibb
693−/* tok-224 %txt /tests/golden/lex-open-bracket-bad-10/tokens/txt
694−/* tre-224 %txt /tests/golden/lex-open-bracket-bad-10/tree/txt
695−/* src-225 %jibb /tests/golden/lex-open-bracket-bad-11/source/jibb
696−/* tok-225 %txt /tests/golden/lex-open-bracket-bad-11/tokens/txt
697−/* tre-225 %txt /tests/golden/lex-open-bracket-bad-11/tree/txt
698−/* src-226 %jibb /tests/golden/lex-open-bracket-bad-12/source/jibb
699−/* tok-226 %txt /tests/golden/lex-open-bracket-bad-12/tokens/txt
700−/* tre-226 %txt /tests/golden/lex-open-bracket-bad-12/tree/txt
701−/* src-227 %jibb /tests/golden/lex-open-bracket-bad-13/source/jibb
702−/* tok-227 %txt /tests/golden/lex-open-bracket-bad-13/tokens/txt
703−/* tre-227 %txt /tests/golden/lex-open-bracket-bad-13/tree/txt
704−/* src-228 %jibb /tests/golden/lex-open-bracket-bad-14/source/jibb
705−/* tok-228 %txt /tests/golden/lex-open-bracket-bad-14/tokens/txt
706−/* tre-228 %txt /tests/golden/lex-open-bracket-bad-14/tree/txt
707−/* src-229 %jibb /tests/golden/lex-open-bracket-bad-15/source/jibb
708−/* tok-229 %txt /tests/golden/lex-open-bracket-bad-15/tokens/txt
709−/* tre-229 %txt /tests/golden/lex-open-bracket-bad-15/tree/txt
710−/* src-230 %jibb /tests/golden/lex-open-bracket-bad-16/source/jibb
711−/* tok-230 %txt /tests/golden/lex-open-bracket-bad-16/tokens/txt
712−/* tre-230 %txt /tests/golden/lex-open-bracket-bad-16/tree/txt
713−/* src-231 %jibb /tests/golden/lex-open-bracket-bad-2/source/jibb
714−/* tok-231 %txt /tests/golden/lex-open-bracket-bad-2/tokens/txt
715−/* tre-231 %txt /tests/golden/lex-open-bracket-bad-2/tree/txt
716−/* src-232 %jibb /tests/golden/lex-open-bracket-bad-3/source/jibb
717−/* tok-232 %txt /tests/golden/lex-open-bracket-bad-3/tokens/txt
718−/* tre-232 %txt /tests/golden/lex-open-bracket-bad-3/tree/txt
719−/* src-233 %jibb /tests/golden/lex-open-bracket-bad-5/source/jibb
720−/* tok-233 %txt /tests/golden/lex-open-bracket-bad-5/tokens/txt
721−/* tre-233 %txt /tests/golden/lex-open-bracket-bad-5/tree/txt
722−/* src-234 %jibb /tests/golden/lex-open-bracket-bad-6/source/jibb
723−/* tok-234 %txt /tests/golden/lex-open-bracket-bad-6/tokens/txt
724−/* tre-234 %txt /tests/golden/lex-open-bracket-bad-6/tree/txt
725−/* src-235 %jibb /tests/golden/lex-open-bracket-bad-7/source/jibb
726−/* tok-235 %txt /tests/golden/lex-open-bracket-bad-7/tokens/txt
727−/* tre-235 %txt /tests/golden/lex-open-bracket-bad-7/tree/txt
728−/* src-236 %jibb /tests/golden/lex-open-bracket-bad-8/source/jibb
729−/* tok-236 %txt /tests/golden/lex-open-bracket-bad-8/tokens/txt
730−/* tre-236 %txt /tests/golden/lex-open-bracket-bad-8/tree/txt
731−/* src-237 %jibb /tests/golden/lex-open-bracket-bad-9/source/jibb
732−/* tok-237 %txt /tests/golden/lex-open-bracket-bad-9/tokens/txt
733−/* tre-237 %txt /tests/golden/lex-open-bracket-bad-9/tree/txt
734−/* src-238 %jibb /tests/golden/lex-open-bracket-ok-1/source/jibb
735−/* tok-238 %txt /tests/golden/lex-open-bracket-ok-1/tokens/txt
736−/* tre-238 %txt /tests/golden/lex-open-bracket-ok-1/tree/txt
737−/* src-239 %jibb /tests/golden/lex-open-bracket-ok-2/source/jibb
738−/* tok-239 %txt /tests/golden/lex-open-bracket-ok-2/tokens/txt
739−/* tre-239 %txt /tests/golden/lex-open-bracket-ok-2/tree/txt
740−/* src-240 %jibb /tests/golden/lex-open-bracket-ok-3/source/jibb
741−/* tok-240 %txt /tests/golden/lex-open-bracket-ok-3/tokens/txt
742−/* tre-240 %txt /tests/golden/lex-open-bracket-ok-3/tree/txt
743−/* src-241 %jibb /tests/golden/lex-open-bracket-ok-4/source/jibb
744−/* tok-241 %txt /tests/golden/lex-open-bracket-ok-4/tokens/txt
745−/* tre-241 %txt /tests/golden/lex-open-bracket-ok-4/tree/txt
746−/* src-242 %jibb /tests/golden/lex-open-bracket-ok-5/source/jibb
747−/* tok-242 %txt /tests/golden/lex-open-bracket-ok-5/tokens/txt
748−/* tre-242 %txt /tests/golden/lex-open-bracket-ok-5/tree/txt
749−/* src-243 %jibb /tests/golden/lex-open-bracket-ok-6/source/jibb
750−/* tok-243 %txt /tests/golden/lex-open-bracket-ok-6/tokens/txt
751−/* tre-243 %txt /tests/golden/lex-open-bracket-ok-6/tree/txt
752−/* src-244 %jibb /tests/golden/lex-open-bracket-ok-7/source/jibb
753−/* tok-244 %txt /tests/golden/lex-open-bracket-ok-7/tokens/txt
754−/* tre-244 %txt /tests/golden/lex-open-bracket-ok-7/tree/txt
755−/* src-245 %jibb /tests/golden/lex-open-bracket-ok-8/source/jibb
756−/* tok-245 %txt /tests/golden/lex-open-bracket-ok-8/tokens/txt
757−/* tre-245 %txt /tests/golden/lex-open-bracket-ok-8/tree/txt
758−/* src-246 %jibb /tests/golden/lex-open-bracket-ok-9/source/jibb
759−/* tok-246 %txt /tests/golden/lex-open-bracket-ok-9/tokens/txt
760−/* tre-246 %txt /tests/golden/lex-open-bracket-ok-9/tree/txt
761−/* src-247 %jibb /tests/golden/lex-open-mold-bad-1/source/jibb
762−/* tok-247 %txt /tests/golden/lex-open-mold-bad-1/tokens/txt
763−/* tre-247 %txt /tests/golden/lex-open-mold-bad-1/tree/txt
764−/* src-248 %jibb /tests/golden/lex-open-mold-bad-10/source/jibb
765−/* tok-248 %txt /tests/golden/lex-open-mold-bad-10/tokens/txt
766−/* tre-248 %txt /tests/golden/lex-open-mold-bad-10/tree/txt
767−/* src-249 %jibb /tests/golden/lex-open-mold-bad-11/source/jibb
768−/* tok-249 %txt /tests/golden/lex-open-mold-bad-11/tokens/txt
769−/* tre-249 %txt /tests/golden/lex-open-mold-bad-11/tree/txt
770−/* src-250 %jibb /tests/golden/lex-open-mold-bad-12/source/jibb
771−/* tok-250 %txt /tests/golden/lex-open-mold-bad-12/tokens/txt
772−/* tre-250 %txt /tests/golden/lex-open-mold-bad-12/tree/txt
773−/* src-251 %jibb /tests/golden/lex-open-mold-bad-13/source/jibb
774−/* tok-251 %txt /tests/golden/lex-open-mold-bad-13/tokens/txt
775−/* tre-251 %txt /tests/golden/lex-open-mold-bad-13/tree/txt
776−/* src-252 %jibb /tests/golden/lex-open-mold-bad-14/source/jibb
777−/* tok-252 %txt /tests/golden/lex-open-mold-bad-14/tokens/txt
778−/* tre-252 %txt /tests/golden/lex-open-mold-bad-14/tree/txt
779−/* src-253 %jibb /tests/golden/lex-open-mold-bad-15/source/jibb
780−/* tok-253 %txt /tests/golden/lex-open-mold-bad-15/tokens/txt
781−/* tre-253 %txt /tests/golden/lex-open-mold-bad-15/tree/txt
782−/* src-254 %jibb /tests/golden/lex-open-mold-bad-16/source/jibb
783−/* tok-254 %txt /tests/golden/lex-open-mold-bad-16/tokens/txt
784−/* tre-254 %txt /tests/golden/lex-open-mold-bad-16/tree/txt
785−/* src-255 %jibb /tests/golden/lex-open-mold-bad-2/source/jibb
786−/* tok-255 %txt /tests/golden/lex-open-mold-bad-2/tokens/txt
787−/* tre-255 %txt /tests/golden/lex-open-mold-bad-2/tree/txt
788−/* src-256 %jibb /tests/golden/lex-open-mold-bad-3/source/jibb
789−/* tok-256 %txt /tests/golden/lex-open-mold-bad-3/tokens/txt
790−/* tre-256 %txt /tests/golden/lex-open-mold-bad-3/tree/txt
791−/* src-257 %jibb /tests/golden/lex-open-mold-bad-4/source/jibb
792−/* tok-257 %txt /tests/golden/lex-open-mold-bad-4/tokens/txt
793−/* tre-257 %txt /tests/golden/lex-open-mold-bad-4/tree/txt
794−/* src-258 %jibb /tests/golden/lex-open-mold-bad-5/source/jibb
795−/* tok-258 %txt /tests/golden/lex-open-mold-bad-5/tokens/txt
796−/* tre-258 %txt /tests/golden/lex-open-mold-bad-5/tree/txt
797−/* src-259 %jibb /tests/golden/lex-open-mold-bad-6/source/jibb
798−/* tok-259 %txt /tests/golden/lex-open-mold-bad-6/tokens/txt
799−/* tre-259 %txt /tests/golden/lex-open-mold-bad-6/tree/txt
800−/* src-260 %jibb /tests/golden/lex-open-mold-bad-7/source/jibb
801−/* tok-260 %txt /tests/golden/lex-open-mold-bad-7/tokens/txt
802−/* tre-260 %txt /tests/golden/lex-open-mold-bad-7/tree/txt
803−/* src-261 %jibb /tests/golden/lex-open-mold-bad-8/source/jibb
804−/* tok-261 %txt /tests/golden/lex-open-mold-bad-8/tokens/txt
805−/* tre-261 %txt /tests/golden/lex-open-mold-bad-8/tree/txt
806−/* src-262 %jibb /tests/golden/lex-open-mold-bad-9/source/jibb
807−/* tok-262 %txt /tests/golden/lex-open-mold-bad-9/tokens/txt
808−/* tre-262 %txt /tests/golden/lex-open-mold-bad-9/tree/txt
809−/* src-263 %jibb /tests/golden/lex-open-mold-ok-1/source/jibb
810−/* tok-263 %txt /tests/golden/lex-open-mold-ok-1/tokens/txt
811−/* tre-263 %txt /tests/golden/lex-open-mold-ok-1/tree/txt
812−/* src-264 %jibb /tests/golden/lex-open-mold-ok-2/source/jibb
813−/* tok-264 %txt /tests/golden/lex-open-mold-ok-2/tokens/txt
814−/* tre-264 %txt /tests/golden/lex-open-mold-ok-2/tree/txt
815−/* src-265 %jibb /tests/golden/lex-open-mold-ok-3/source/jibb
816−/* tok-265 %txt /tests/golden/lex-open-mold-ok-3/tokens/txt
817−/* tre-265 %txt /tests/golden/lex-open-mold-ok-3/tree/txt
818−/* src-266 %jibb /tests/golden/lex-open-mold-ok-4/source/jibb
819−/* tok-266 %txt /tests/golden/lex-open-mold-ok-4/tokens/txt
820−/* tre-266 %txt /tests/golden/lex-open-mold-ok-4/tree/txt
821−/* src-267 %jibb /tests/golden/lex-open-mold-ok-5/source/jibb
822−/* tok-267 %txt /tests/golden/lex-open-mold-ok-5/tokens/txt
823−/* tre-267 %txt /tests/golden/lex-open-mold-ok-5/tree/txt
824−/* src-268 %jibb /tests/golden/lex-open-mold-ok-6/source/jibb
825−/* tok-268 %txt /tests/golden/lex-open-mold-ok-6/tokens/txt
826−/* tre-268 %txt /tests/golden/lex-open-mold-ok-6/tree/txt
827−/* src-269 %jibb /tests/golden/lex-pair-binding-bad-1/source/jibb
828−/* tok-269 %txt /tests/golden/lex-pair-binding-bad-1/tokens/txt
829−/* tre-269 %txt /tests/golden/lex-pair-binding-bad-1/tree/txt
830−/* src-270 %jibb /tests/golden/lex-pair-binding-ok-1/source/jibb
831−/* tok-270 %txt /tests/golden/lex-pair-binding-ok-1/tokens/txt
832−/* tre-270 %txt /tests/golden/lex-pair-binding-ok-1/tree/txt
833−/* src-271 %jibb /tests/golden/lex-path-bad-1/source/jibb
834−/* tok-271 %txt /tests/golden/lex-path-bad-1/tokens/txt
835−/* tre-271 %txt /tests/golden/lex-path-bad-1/tree/txt
836−/* src-272 %jibb /tests/golden/lex-path-ok-1/source/jibb
837−/* tok-272 %txt /tests/golden/lex-path-ok-1/tokens/txt
838−/* tre-272 %txt /tests/golden/lex-path-ok-1/tree/txt
839−/* src-273 %jibb /tests/golden/lex-rune-layout-bad-1/source/jibb
840−/* tok-273 %txt /tests/golden/lex-rune-layout-bad-1/tokens/txt
841−/* tre-273 %txt /tests/golden/lex-rune-layout-bad-1/tree/txt
842−/* src-274 %jibb /tests/golden/lex-rune-layout-bad-10/source/jibb
843−/* tok-274 %txt /tests/golden/lex-rune-layout-bad-10/tokens/txt
844−/* tre-274 %txt /tests/golden/lex-rune-layout-bad-10/tree/txt
845−/* src-275 %jibb /tests/golden/lex-rune-layout-bad-11/source/jibb
846−/* tok-275 %txt /tests/golden/lex-rune-layout-bad-11/tokens/txt
847−/* tre-275 %txt /tests/golden/lex-rune-layout-bad-11/tree/txt
848−/* src-276 %jibb /tests/golden/lex-rune-layout-bad-12/source/jibb
849−/* tok-276 %txt /tests/golden/lex-rune-layout-bad-12/tokens/txt
850−/* tre-276 %txt /tests/golden/lex-rune-layout-bad-12/tree/txt
851−/* src-277 %jibb /tests/golden/lex-rune-layout-bad-13/source/jibb
852−/* tok-277 %txt /tests/golden/lex-rune-layout-bad-13/tokens/txt
853−/* tre-277 %txt /tests/golden/lex-rune-layout-bad-13/tree/txt
854−/* src-278 %jibb /tests/golden/lex-rune-layout-bad-14/source/jibb
855−/* tok-278 %txt /tests/golden/lex-rune-layout-bad-14/tokens/txt
856−/* tre-278 %txt /tests/golden/lex-rune-layout-bad-14/tree/txt
857−/* src-279 %jibb /tests/golden/lex-rune-layout-bad-15/source/jibb
858−/* tok-279 %txt /tests/golden/lex-rune-layout-bad-15/tokens/txt
859−/* tre-279 %txt /tests/golden/lex-rune-layout-bad-15/tree/txt
860−/* src-280 %jibb /tests/golden/lex-rune-layout-bad-2/source/jibb
861−/* tok-280 %txt /tests/golden/lex-rune-layout-bad-2/tokens/txt
862−/* tre-280 %txt /tests/golden/lex-rune-layout-bad-2/tree/txt
863−/* src-281 %jibb /tests/golden/lex-rune-layout-bad-3/source/jibb
864−/* tok-281 %txt /tests/golden/lex-rune-layout-bad-3/tokens/txt
865−/* tre-281 %txt /tests/golden/lex-rune-layout-bad-3/tree/txt
866−/* src-282 %jibb /tests/golden/lex-rune-layout-bad-4/source/jibb
867−/* tok-282 %txt /tests/golden/lex-rune-layout-bad-4/tokens/txt
868−/* tre-282 %txt /tests/golden/lex-rune-layout-bad-4/tree/txt
869−/* src-283 %jibb /tests/golden/lex-rune-layout-bad-5/source/jibb
870−/* tok-283 %txt /tests/golden/lex-rune-layout-bad-5/tokens/txt
871−/* tre-283 %txt /tests/golden/lex-rune-layout-bad-5/tree/txt
872−/* src-284 %jibb /tests/golden/lex-rune-layout-bad-6/source/jibb
873−/* tok-284 %txt /tests/golden/lex-rune-layout-bad-6/tokens/txt
874−/* tre-284 %txt /tests/golden/lex-rune-layout-bad-6/tree/txt
875−/* src-285 %jibb /tests/golden/lex-rune-layout-bad-7/source/jibb
876−/* tok-285 %txt /tests/golden/lex-rune-layout-bad-7/tokens/txt
877−/* tre-285 %txt /tests/golden/lex-rune-layout-bad-7/tree/txt
878−/* src-286 %jibb /tests/golden/lex-rune-layout-bad-8/source/jibb
879−/* tok-286 %txt /tests/golden/lex-rune-layout-bad-8/tokens/txt
880−/* tre-286 %txt /tests/golden/lex-rune-layout-bad-8/tree/txt
881−/* src-287 %jibb /tests/golden/lex-rune-layout-bad-9/source/jibb
882−/* tok-287 %txt /tests/golden/lex-rune-layout-bad-9/tokens/txt
883−/* tre-287 %txt /tests/golden/lex-rune-layout-bad-9/tree/txt
884−/* src-288 %jibb /tests/golden/lex-rune-layout-ok-1/source/jibb
885−/* tok-288 %txt /tests/golden/lex-rune-layout-ok-1/tokens/txt
886−/* tre-288 %txt /tests/golden/lex-rune-layout-ok-1/tree/txt
887−/* src-289 %jibb /tests/golden/lex-ship-bad-1/source/jibb
888−/* tok-289 %txt /tests/golden/lex-ship-bad-1/tokens/txt
889−/* tre-289 %txt /tests/golden/lex-ship-bad-1/tree/txt
890−/* src-290 %jibb /tests/golden/lex-ship-ok-1/source/jibb
891−/* tok-290 %txt /tests/golden/lex-ship-ok-1/tokens/txt
892−/* tre-290 %txt /tests/golden/lex-ship-ok-1/tree/txt
893−/* src-291 %jibb /tests/golden/lex-spacing-bad-1/source/jibb
894−/* tok-291 %txt /tests/golden/lex-spacing-bad-1/tokens/txt
895−/* tre-291 %txt /tests/golden/lex-spacing-bad-1/tree/txt
896−/* src-292 %jibb /tests/golden/lex-spacing-bad-2/source/jibb
897−/* tok-292 %txt /tests/golden/lex-spacing-bad-2/tokens/txt
898−/* tre-292 %txt /tests/golden/lex-spacing-bad-2/tree/txt
899−/* src-293 %jibb /tests/golden/lex-spacing-ok-1/source/jibb
900−/* tok-293 %txt /tests/golden/lex-spacing-ok-1/tokens/txt
901−/* tre-293 %txt /tests/golden/lex-spacing-ok-1/tree/txt
902−/* src-294 %jibb /tests/golden/lex-spacing-ok-2/source/jibb
903−/* tok-294 %txt /tests/golden/lex-spacing-ok-2/tokens/txt
904−/* tre-294 %txt /tests/golden/lex-spacing-ok-2/tree/txt
905−/* src-295 %jibb /tests/golden/lex-spacing-ok-3/source/jibb
906−/* tok-295 %txt /tests/golden/lex-spacing-ok-3/tokens/txt
907−/* tre-295 %txt /tests/golden/lex-spacing-ok-3/tree/txt
908−/* src-296 %jibb /tests/golden/lex-string-bad-1/source/jibb
909−/* tok-296 %txt /tests/golden/lex-string-bad-1/tokens/txt
910−/* tre-296 %txt /tests/golden/lex-string-bad-1/tree/txt
911−/* src-297 %jibb /tests/golden/lex-string-bad-2/source/jibb
912−/* tok-297 %txt /tests/golden/lex-string-bad-2/tokens/txt
913−/* tre-297 %txt /tests/golden/lex-string-bad-2/tree/txt
914−/* src-298 %jibb /tests/golden/lex-string-ok-1/source/jibb
915−/* tok-298 %txt /tests/golden/lex-string-ok-1/tokens/txt
916−/* tre-298 %txt /tests/golden/lex-string-ok-1/tree/txt
917−/* src-299 %jibb /tests/golden/lex-term-bad-1/source/jibb
918−/* tok-299 %txt /tests/golden/lex-term-bad-1/tokens/txt
919−/* tre-299 %txt /tests/golden/lex-term-bad-1/tree/txt
920−/* src-300 %jibb /tests/golden/lex-term-bad-10/source/jibb
921−/* tok-300 %txt /tests/golden/lex-term-bad-10/tokens/txt
922−/* tre-300 %txt /tests/golden/lex-term-bad-10/tree/txt
923−/* src-301 %jibb /tests/golden/lex-term-bad-11/source/jibb
924−/* tok-301 %txt /tests/golden/lex-term-bad-11/tokens/txt
925−/* tre-301 %txt /tests/golden/lex-term-bad-11/tree/txt
926−/* src-302 %jibb /tests/golden/lex-term-bad-12/source/jibb
927−/* tok-302 %txt /tests/golden/lex-term-bad-12/tokens/txt
928−/* tre-302 %txt /tests/golden/lex-term-bad-12/tree/txt
929−/* src-303 %jibb /tests/golden/lex-term-bad-13/source/jibb
930−/* tok-303 %txt /tests/golden/lex-term-bad-13/tokens/txt
931−/* tre-303 %txt /tests/golden/lex-term-bad-13/tree/txt
932−/* src-304 %jibb /tests/golden/lex-term-bad-14/source/jibb
933−/* tok-304 %txt /tests/golden/lex-term-bad-14/tokens/txt
934−/* tre-304 %txt /tests/golden/lex-term-bad-14/tree/txt
935−/* src-305 %jibb /tests/golden/lex-term-bad-15/source/jibb
936−/* tok-305 %txt /tests/golden/lex-term-bad-15/tokens/txt
937−/* tre-305 %txt /tests/golden/lex-term-bad-15/tree/txt
938−/* src-306 %jibb /tests/golden/lex-term-bad-2/source/jibb
939−/* tok-306 %txt /tests/golden/lex-term-bad-2/tokens/txt
940−/* tre-306 %txt /tests/golden/lex-term-bad-2/tree/txt
941−/* src-307 %jibb /tests/golden/lex-term-bad-3/source/jibb
942−/* tok-307 %txt /tests/golden/lex-term-bad-3/tokens/txt
943−/* tre-307 %txt /tests/golden/lex-term-bad-3/tree/txt
944−/* src-308 %jibb /tests/golden/lex-term-bad-4/source/jibb
945−/* tok-308 %txt /tests/golden/lex-term-bad-4/tokens/txt
946−/* tre-308 %txt /tests/golden/lex-term-bad-4/tree/txt
947−/* src-309 %jibb /tests/golden/lex-term-bad-5/source/jibb
948−/* tok-309 %txt /tests/golden/lex-term-bad-5/tokens/txt
949−/* tre-309 %txt /tests/golden/lex-term-bad-5/tree/txt
950−/* src-310 %jibb /tests/golden/lex-term-bad-6/source/jibb
951−/* tok-310 %txt /tests/golden/lex-term-bad-6/tokens/txt
952−/* tre-310 %txt /tests/golden/lex-term-bad-6/tree/txt
953−/* src-311 %jibb /tests/golden/lex-term-bad-7/source/jibb
954−/* tok-311 %txt /tests/golden/lex-term-bad-7/tokens/txt
955−/* tre-311 %txt /tests/golden/lex-term-bad-7/tree/txt
956−/* src-312 %jibb /tests/golden/lex-term-bad-8/source/jibb
957−/* tok-312 %txt /tests/golden/lex-term-bad-8/tokens/txt
958−/* tre-312 %txt /tests/golden/lex-term-bad-8/tree/txt
959−/* src-313 %jibb /tests/golden/lex-term-bad-9/source/jibb
960−/* tok-313 %txt /tests/golden/lex-term-bad-9/tokens/txt
961−/* tre-313 %txt /tests/golden/lex-term-bad-9/tree/txt
962−/* src-314 %jibb /tests/golden/lex-term-ok-1/source/jibb
963−/* tok-314 %txt /tests/golden/lex-term-ok-1/tokens/txt
964−/* tre-314 %txt /tests/golden/lex-term-ok-1/tree/txt
965−/* src-315 %jibb /tests/golden/lex-tight-change-bad-1/source/jibb
966−/* tok-315 %txt /tests/golden/lex-tight-change-bad-1/tokens/txt
967−/* tre-315 %txt /tests/golden/lex-tight-change-bad-1/tree/txt
968−/* src-316 %jibb /tests/golden/lex-tight-change-bad-2/source/jibb
969−/* tok-316 %txt /tests/golden/lex-tight-change-bad-2/tokens/txt
970−/* tre-316 %txt /tests/golden/lex-tight-change-bad-2/tree/txt
971−/* src-317 %jibb /tests/golden/lex-tight-change-bad-3/source/jibb
972−/* tok-317 %txt /tests/golden/lex-tight-change-bad-3/tokens/txt
973−/* tre-317 %txt /tests/golden/lex-tight-change-bad-3/tree/txt
974−/* src-318 %jibb /tests/golden/lex-tight-change-bad-4/source/jibb
975−/* tok-318 %txt /tests/golden/lex-tight-change-bad-4/tokens/txt
976−/* tre-318 %txt /tests/golden/lex-tight-change-bad-4/tree/txt
977−/* src-319 %jibb /tests/golden/lex-tight-change-bad-5/source/jibb
978−/* tok-319 %txt /tests/golden/lex-tight-change-bad-5/tokens/txt
979−/* tre-319 %txt /tests/golden/lex-tight-change-bad-5/tree/txt
980−/* src-320 %jibb /tests/golden/lex-tight-change-bad-6/source/jibb
981−/* tok-320 %txt /tests/golden/lex-tight-change-bad-6/tokens/txt
982−/* tre-320 %txt /tests/golden/lex-tight-change-bad-6/tree/txt
983−/* src-321 %jibb /tests/golden/lex-tight-change-bad-7/source/jibb
984−/* tok-321 %txt /tests/golden/lex-tight-change-bad-7/tokens/txt
985−/* tre-321 %txt /tests/golden/lex-tight-change-bad-7/tree/txt
986−/* src-322 %jibb /tests/golden/lex-tight-change-bad-8/source/jibb
987−/* tok-322 %txt /tests/golden/lex-tight-change-bad-8/tokens/txt
988−/* tre-322 %txt /tests/golden/lex-tight-change-bad-8/tree/txt
989−/* src-323 %jibb /tests/golden/lex-tight-change-bad-9/source/jibb
990−/* tok-323 %txt /tests/golden/lex-tight-change-bad-9/tokens/txt
991−/* tre-323 %txt /tests/golden/lex-tight-change-bad-9/tree/txt
992−/* src-324 %jibb /tests/golden/lex-tight-change-ok-1/source/jibb
993−/* tok-324 %txt /tests/golden/lex-tight-change-ok-1/tokens/txt
994−/* tre-324 %txt /tests/golden/lex-tight-change-ok-1/tree/txt
995−/* src-325 %jibb /tests/golden/lex-tight-ctor-bad-1/source/jibb
996−/* tok-325 %txt /tests/golden/lex-tight-ctor-bad-1/tokens/txt
997−/* tre-325 %txt /tests/golden/lex-tight-ctor-bad-1/tree/txt
998−/* src-326 %jibb /tests/golden/lex-tight-ctor-bad-2/source/jibb
999−/* tok-326 %txt /tests/golden/lex-tight-ctor-bad-2/tokens/txt
1000−/* tre-326 %txt /tests/golden/lex-tight-ctor-bad-2/tree/txt
1001−/* src-327 %jibb /tests/golden/lex-tight-ctor-ok-1/source/jibb
1002−/* tok-327 %txt /tests/golden/lex-tight-ctor-ok-1/tokens/txt
1003−/* tre-327 %txt /tests/golden/lex-tight-ctor-ok-1/tree/txt
1004−/* src-328 %jibb /tests/golden/lex-tight-opener-bad-1/source/jibb
1005−/* tok-328 %txt /tests/golden/lex-tight-opener-bad-1/tokens/txt
1006−/* tre-328 %txt /tests/golden/lex-tight-opener-bad-1/tree/txt
1007−/* src-329 %jibb /tests/golden/lex-tight-opener-bad-2/source/jibb
1008−/* tok-329 %txt /tests/golden/lex-tight-opener-bad-2/tokens/txt
1009−/* tre-329 %txt /tests/golden/lex-tight-opener-bad-2/tree/txt
1010−/* src-330 %jibb /tests/golden/lex-tight-opener-bad-3/source/jibb
1011−/* tok-330 %txt /tests/golden/lex-tight-opener-bad-3/tokens/txt
1012−/* tre-330 %txt /tests/golden/lex-tight-opener-bad-3/tree/txt
1013−/* src-331 %jibb /tests/golden/lex-tight-opener-bad-4/source/jibb
1014−/* tok-331 %txt /tests/golden/lex-tight-opener-bad-4/tokens/txt
1015−/* tre-331 %txt /tests/golden/lex-tight-opener-bad-4/tree/txt
1016−/* src-332 %jibb /tests/golden/lex-tight-opener-ok-1/source/jibb
1017−/* tok-332 %txt /tests/golden/lex-tight-opener-ok-1/tokens/txt
1018−/* tre-332 %txt /tests/golden/lex-tight-opener-ok-1/tree/txt
1019−/* src-333 %jibb /tests/golden/lex-tight-pair-bad-1/source/jibb
1020−/* tok-333 %txt /tests/golden/lex-tight-pair-bad-1/tokens/txt
1021−/* tre-333 %txt /tests/golden/lex-tight-pair-bad-1/tree/txt
1022−/* src-334 %jibb /tests/golden/lex-tight-pair-bad-2/source/jibb
1023−/* tok-334 %txt /tests/golden/lex-tight-pair-bad-2/tokens/txt
1024−/* tre-334 %txt /tests/golden/lex-tight-pair-bad-2/tree/txt
1025−/* src-335 %jibb /tests/golden/lex-tight-pair-bad-3/source/jibb
1026−/* tok-335 %txt /tests/golden/lex-tight-pair-bad-3/tokens/txt
1027−/* tre-335 %txt /tests/golden/lex-tight-pair-bad-3/tree/txt
1028−/* src-336 %jibb /tests/golden/lex-tight-pair-ok-1/source/jibb
1029−/* tok-336 %txt /tests/golden/lex-tight-pair-ok-1/tokens/txt
1030−/* tre-336 %txt /tests/golden/lex-tight-pair-ok-1/tree/txt
1031−/* src-337 %jibb /tests/golden/lex-tight-qath-bad-1/source/jibb
1032−/* tok-337 %txt /tests/golden/lex-tight-qath-bad-1/tokens/txt
1033−/* tre-337 %txt /tests/golden/lex-tight-qath-bad-1/tree/txt
1034−/* src-338 %jibb /tests/golden/lex-tight-qath-bad-2/source/jibb
1035−/* tok-338 %txt /tests/golden/lex-tight-qath-bad-2/tokens/txt
1036−/* tre-338 %txt /tests/golden/lex-tight-qath-bad-2/tree/txt
1037−/* src-339 %jibb /tests/golden/lex-tight-qath-bad-3/source/jibb
1038−/* tok-339 %txt /tests/golden/lex-tight-qath-bad-3/tokens/txt
1039−/* tre-339 %txt /tests/golden/lex-tight-qath-bad-3/tree/txt
1040−/* src-340 %jibb /tests/golden/lex-tight-qath-ok-1/source/jibb
1041−/* tok-340 %txt /tests/golden/lex-tight-qath-ok-1/tokens/txt
1042−/* tre-340 %txt /tests/golden/lex-tight-qath-ok-1/tree/txt
1043−/* src-341 %jibb /tests/golden/lex-tight-unit-bad-1/source/jibb
1044−/* tok-341 %txt /tests/golden/lex-tight-unit-bad-1/tokens/txt
1045−/* tre-341 %txt /tests/golden/lex-tight-unit-bad-1/tree/txt
1046−/* src-342 %jibb /tests/golden/lex-tight-unit-ok-1/source/jibb
1047−/* tok-342 %txt /tests/golden/lex-tight-unit-ok-1/tokens/txt
1048−/* tre-342 %txt /tests/golden/lex-tight-unit-ok-1/tree/txt
1049−/* src-343 %jibb /tests/golden/lex-tight-wing-bad-1/source/jibb
1050−/* tok-343 %txt /tests/golden/lex-tight-wing-bad-1/tokens/txt
1051−/* tre-343 %txt /tests/golden/lex-tight-wing-bad-1/tree/txt
1052−/* src-344 %jibb /tests/golden/lex-tight-wing-ok-1/source/jibb
1053−/* tok-344 %txt /tests/golden/lex-tight-wing-ok-1/tokens/txt
1054−/* tre-344 %txt /tests/golden/lex-tight-wing-ok-1/tree/txt
104+/* src-28 %jibb /tests/golden/inline-gate-after-definition-bad/source/jibb
105+/* tok-28 %txt /tests/golden/inline-gate-after-definition-bad/tokens/txt
106+/* tre-28 %txt /tests/golden/inline-gate-after-definition-bad/tree/txt
107+/* src-29 %jibb /tests/golden/inline-gate-field-bad/source/jibb
108+/* tok-29 %txt /tests/golden/inline-gate-field-bad/tokens/txt
109+/* tre-29 %txt /tests/golden/inline-gate-field-bad/tree/txt
110+/* src-30 %jibb /tests/golden/inline-gate-mold/source/jibb
111+/* tok-30 %txt /tests/golden/inline-gate-mold/tokens/txt
112+/* tre-30 %txt /tests/golden/inline-gate-mold/tree/txt
113+/* src-31 %jibb /tests/golden/inline-gate-sample-binds/source/jibb
114+/* tok-31 %txt /tests/golden/inline-gate-sample-binds/tokens/txt
115+/* tre-31 %txt /tests/golden/inline-gate-sample-binds/tree/txt
116+/* src-32 %jibb /tests/golden/inline-gate-samples/source/jibb
117+/* tok-32 %txt /tests/golden/inline-gate-samples/tokens/txt
118+/* tre-32 %txt /tests/golden/inline-gate-samples/tree/txt
119+/* src-33 %jibb /tests/golden/inline-gate-wide/source/jibb
120+/* tok-33 %txt /tests/golden/inline-gate-wide/tokens/txt
121+/* tre-33 %txt /tests/golden/inline-gate-wide/tree/txt
122+/* src-34 %jibb /tests/golden/inline-generic-apply-bad/source/jibb
123+/* tok-34 %txt /tests/golden/inline-generic-apply-bad/tokens/txt
124+/* tre-34 %txt /tests/golden/inline-generic-apply-bad/tree/txt
125+/* src-35 %jibb /tests/golden/inline-generic-both-bad/source/jibb
126+/* tok-35 %txt /tests/golden/inline-generic-both-bad/tokens/txt
127+/* tre-35 %txt /tests/golden/inline-generic-both-bad/tree/txt
128+/* src-36 %jibb /tests/golden/inline-generic-case-bad/source/jibb
129+/* tok-36 %txt /tests/golden/inline-generic-case-bad/tokens/txt
130+/* tre-36 %txt /tests/golden/inline-generic-case-bad/tree/txt
131+/* src-37 %jibb /tests/golden/inline-generic-cast-bad/source/jibb
132+/* tok-37 %txt /tests/golden/inline-generic-cast-bad/tokens/txt
133+/* tre-37 %txt /tests/golden/inline-generic-cast-bad/tree/txt
134+/* src-38 %jibb /tests/golden/inline-generic-empty-bad/source/jibb
135+/* tok-38 %txt /tests/golden/inline-generic-empty-bad/tokens/txt
136+/* tre-38 %txt /tests/golden/inline-generic-empty-bad/tree/txt
137+/* src-39 %jibb /tests/golden/inline-generic-field-bad/source/jibb
138+/* tok-39 %txt /tests/golden/inline-generic-field-bad/tokens/txt
139+/* tre-39 %txt /tests/golden/inline-generic-field-bad/tree/txt
140+/* src-40 %jibb /tests/golden/inline-generic-mold/source/jibb
141+/* tok-40 %txt /tests/golden/inline-generic-mold/tokens/txt
142+/* tre-40 %txt /tests/golden/inline-generic-mold/tree/txt
143+/* src-41 %jibb /tests/golden/inline-generic-prefix-bad/source/jibb
144+/* tok-41 %txt /tests/golden/inline-generic-prefix-bad/tokens/txt
145+/* tre-41 %txt /tests/golden/inline-generic-prefix-bad/tree/txt
146+/* src-42 %jibb /tests/golden/inline-hex/source/jibb
147+/* tok-42 %txt /tests/golden/inline-hex/tokens/txt
148+/* tre-42 %txt /tests/golden/inline-hex/tree/txt
149+/* src-43 %jibb /tests/golden/inline-hoon-union-apply-bad/source/jibb
150+/* tok-43 %txt /tests/golden/inline-hoon-union-apply-bad/tokens/txt
151+/* tre-43 %txt /tests/golden/inline-hoon-union-apply-bad/tree/txt
152+/* src-44 %jibb /tests/golden/inline-hoon-union-cast-bad/source/jibb
153+/* tok-44 %txt /tests/golden/inline-hoon-union-cast-bad/tokens/txt
154+/* tre-44 %txt /tests/golden/inline-hoon-union-cast-bad/tree/txt
155+/* src-45 %jibb /tests/golden/inline-hoon-union-definition-bad/source/jibb
156+/* tok-45 %txt /tests/golden/inline-hoon-union-definition-bad/tokens/txt
157+/* tre-45 %txt /tests/golden/inline-hoon-union-definition-bad/tree/txt
158+/* src-46 %jibb /tests/golden/inline-hoon-union-field-bad/source/jibb
159+/* tok-46 %txt /tests/golden/inline-hoon-union-field-bad/tokens/txt
160+/* tre-46 %txt /tests/golden/inline-hoon-union-field-bad/tree/txt
161+/* src-47 %jibb /tests/golden/inline-hoon-union-gate-bad/source/jibb
162+/* tok-47 %txt /tests/golden/inline-hoon-union-gate-bad/tokens/txt
163+/* tre-47 %txt /tests/golden/inline-hoon-union-gate-bad/tree/txt
164+/* src-48 %jibb /tests/golden/inline-hoon-union-nested-sample-bad/source/jibb
165+/* tok-48 %txt /tests/golden/inline-hoon-union-nested-sample-bad/tokens/txt
166+/* tre-48 %txt /tests/golden/inline-hoon-union-nested-sample-bad/tree/txt
167+/* src-49 %jibb /tests/golden/inline-hoon-union-open-apply-bad/source/jibb
168+/* tok-49 %txt /tests/golden/inline-hoon-union-open-apply-bad/tokens/txt
169+/* tre-49 %txt /tests/golden/inline-hoon-union-open-apply-bad/tree/txt
170+/* src-50 %jibb /tests/golden/inline-hoon-union-open-field-bad/source/jibb
171+/* tok-50 %txt /tests/golden/inline-hoon-union-open-field-bad/tokens/txt
172+/* tre-50 %txt /tests/golden/inline-hoon-union-open-field-bad/tree/txt
173+/* src-51 %jibb /tests/golden/inline-hoon-union-sample-bad/source/jibb
174+/* tok-51 %txt /tests/golden/inline-hoon-union-sample-bad/tokens/txt
175+/* tre-51 %txt /tests/golden/inline-hoon-union-sample-bad/tree/txt
176+/* src-52 %jibb /tests/golden/inline-hoon-union-wide-sample-bad/source/jibb
177+/* tok-52 %txt /tests/golden/inline-hoon-union-wide-sample-bad/tokens/txt
178+/* tre-52 %txt /tests/golden/inline-hoon-union-wide-sample-bad/tree/txt
179+/* src-53 %jibb /tests/golden/inline-import-mark-face-bad/source/jibb
180+/* tok-53 %txt /tests/golden/inline-import-mark-face-bad/tokens/txt
181+/* tre-53 %txt /tests/golden/inline-import-mark-face-bad/tree/txt
182+/* src-54 %jibb /tests/golden/inline-import-root-bad/source/jibb
183+/* tok-54 %txt /tests/golden/inline-import-root-bad/tokens/txt
184+/* tre-54 %txt /tests/golden/inline-import-root-bad/tree/txt
185+/* src-55 %jibb /tests/golden/inline-imports-after-definition/source/jibb
186+/* tok-55 %txt /tests/golden/inline-imports-after-definition/tokens/txt
187+/* tre-55 %txt /tests/golden/inline-imports-after-definition/tree/txt
188+/* src-56 %jibb /tests/golden/inline-island/source/jibb
189+/* tok-56 %txt /tests/golden/inline-island/tokens/txt
190+/* tre-56 %txt /tests/golden/inline-island/tree/txt
191+/* src-57 %jibb /tests/golden/inline-kinds/source/jibb
192+/* tok-57 %txt /tests/golden/inline-kinds/tokens/txt
193+/* tre-57 %txt /tests/golden/inline-kinds/tree/txt
194+/* src-58 %jibb /tests/golden/inline-knot/source/jibb
195+/* tok-58 %txt /tests/golden/inline-knot/tokens/txt
196+/* tre-58 %txt /tests/golden/inline-knot/tree/txt
197+/* src-59 %jibb /tests/golden/inline-leftout-barcab/source/jibb
198+/* tok-59 %txt /tests/golden/inline-leftout-barcab/tokens/txt
199+/* tre-59 %txt /tests/golden/inline-leftout-barcab/tree/txt
200+/* src-60 %jibb /tests/golden/inline-leftout-barcen/source/jibb
201+/* tok-60 %txt /tests/golden/inline-leftout-barcen/tokens/txt
202+/* tre-60 %txt /tests/golden/inline-leftout-barcen/tree/txt
203+/* src-61 %jibb /tests/golden/inline-leftout-barcen-2/source/jibb
204+/* tok-61 %txt /tests/golden/inline-leftout-barcen-2/tokens/txt
205+/* tre-61 %txt /tests/golden/inline-leftout-barcen-2/tree/txt
206+/* src-62 %jibb /tests/golden/inline-leftout-barcen-3/source/jibb
207+/* tok-62 %txt /tests/golden/inline-leftout-barcen-3/tokens/txt
208+/* tre-62 %txt /tests/golden/inline-leftout-barcen-3/tree/txt
209+/* src-63 %jibb /tests/golden/inline-leftout-barhep/source/jibb
210+/* tok-63 %txt /tests/golden/inline-leftout-barhep/tokens/txt
211+/* tre-63 %txt /tests/golden/inline-leftout-barhep/tree/txt
212+/* src-64 %jibb /tests/golden/inline-leftout-bartar/source/jibb
213+/* tok-64 %txt /tests/golden/inline-leftout-bartar/tokens/txt
214+/* tre-64 %txt /tests/golden/inline-leftout-bartar/tree/txt
215+/* src-65 %jibb /tests/golden/inline-leftout-buc-alone/source/jibb
216+/* tok-65 %txt /tests/golden/inline-leftout-buc-alone/tokens/txt
217+/* tre-65 %txt /tests/golden/inline-leftout-buc-alone/tree/txt
218+/* src-66 %jibb /tests/golden/inline-leftout-buc-paren/source/jibb
219+/* tok-66 %txt /tests/golden/inline-leftout-buc-paren/tokens/txt
220+/* tre-66 %txt /tests/golden/inline-leftout-buc-paren/tree/txt
221+/* src-67 %jibb /tests/golden/inline-leftout-buc-paren-2/source/jibb
222+/* tok-67 %txt /tests/golden/inline-leftout-buc-paren-2/tokens/txt
223+/* tre-67 %txt /tests/golden/inline-leftout-buc-paren-2/tree/txt
224+/* src-68 %jibb /tests/golden/inline-leftout-buc-paren-3/source/jibb
225+/* tok-68 %txt /tests/golden/inline-leftout-buc-paren-3/tokens/txt
226+/* tre-68 %txt /tests/golden/inline-leftout-buc-paren-3/tree/txt
227+/* src-69 %jibb /tests/golden/inline-leftout-buccen/source/jibb
228+/* tok-69 %txt /tests/golden/inline-leftout-buccen/tokens/txt
229+/* tre-69 %txt /tests/golden/inline-leftout-buccen/tree/txt
230+/* src-70 %jibb /tests/golden/inline-leftout-cencol/source/jibb
231+/* tok-70 %txt /tests/golden/inline-leftout-cencol/tokens/txt
232+/* tre-70 %txt /tests/golden/inline-leftout-cencol/tree/txt
233+/* src-71 %jibb /tests/golden/inline-leftout-cenhep/source/jibb
234+/* tok-71 %txt /tests/golden/inline-leftout-cenhep/tokens/txt
235+/* tre-71 %txt /tests/golden/inline-leftout-cenhep/tree/txt
236+/* src-72 %jibb /tests/golden/inline-leftout-centis/source/jibb
237+/* tok-72 %txt /tests/golden/inline-leftout-centis/tokens/txt
238+/* tre-72 %txt /tests/golden/inline-leftout-centis/tree/txt
239+/* src-73 %jibb /tests/golden/inline-leftout-colhep/source/jibb
240+/* tok-73 %txt /tests/golden/inline-leftout-colhep/tokens/txt
241+/* tre-73 %txt /tests/golden/inline-leftout-colhep/tree/txt
242+/* src-74 %jibb /tests/golden/inline-leftout-colon-wing/source/jibb
243+/* tok-74 %txt /tests/golden/inline-leftout-colon-wing/tokens/txt
244+/* tre-74 %txt /tests/golden/inline-leftout-colon-wing/tree/txt
245+/* src-75 %jibb /tests/golden/inline-leftout-colsig/source/jibb
246+/* tok-75 %txt /tests/golden/inline-leftout-colsig/tokens/txt
247+/* tre-75 %txt /tests/golden/inline-leftout-colsig/tree/txt
248+/* src-76 %jibb /tests/golden/inline-leftout-coltar/source/jibb
249+/* tok-76 %txt /tests/golden/inline-leftout-coltar/tokens/txt
250+/* tre-76 %txt /tests/golden/inline-leftout-coltar/tree/txt
251+/* src-77 %jibb /tests/golden/inline-leftout-dottar/source/jibb
252+/* tok-77 %txt /tests/golden/inline-leftout-dottar/tokens/txt
253+/* tre-77 %txt /tests/golden/inline-leftout-dottar/tree/txt
254+/* src-78 %jibb /tests/golden/inline-leftout-dottis/source/jibb
255+/* tok-78 %txt /tests/golden/inline-leftout-dottis/tokens/txt
256+/* tre-78 %txt /tests/golden/inline-leftout-dottis/tree/txt
257+/* src-79 %jibb /tests/golden/inline-leftout-faslus/source/jibb
258+/* tok-79 %txt /tests/golden/inline-leftout-faslus/tokens/txt
259+/* tre-79 %txt /tests/golden/inline-leftout-faslus/tree/txt
260+/* src-80 %jibb /tests/golden/inline-leftout-hephep/source/jibb
261+/* tok-80 %txt /tests/golden/inline-leftout-hephep/tokens/txt
262+/* tre-80 %txt /tests/golden/inline-leftout-hephep/tree/txt
263+/* src-81 %jibb /tests/golden/inline-leftout-kethep-wide/source/jibb
264+/* tok-81 %txt /tests/golden/inline-leftout-kethep-wide/tokens/txt
265+/* tre-81 %txt /tests/golden/inline-leftout-kethep-wide/tree/txt
266+/* src-82 %jibb /tests/golden/inline-leftout-kettar/source/jibb
267+/* tok-82 %txt /tests/golden/inline-leftout-kettar/tokens/txt
268+/* tre-82 %txt /tests/golden/inline-leftout-kettar/tree/txt
269+/* src-83 %jibb /tests/golden/inline-leftout-miccol/source/jibb
270+/* tok-83 %txt /tests/golden/inline-leftout-miccol/tokens/txt
271+/* tre-83 %txt /tests/golden/inline-leftout-miccol/tree/txt
272+/* src-84 %jibb /tests/golden/inline-leftout-sail/source/jibb
273+/* tok-84 %txt /tests/golden/inline-leftout-sail/tokens/txt
274+/* tre-84 %txt /tests/golden/inline-leftout-sail/tree/txt
275+/* src-85 %jibb /tests/golden/inline-leftout-sigbar/source/jibb
276+/* tok-85 %txt /tests/golden/inline-leftout-sigbar/tokens/txt
277+/* tre-85 %txt /tests/golden/inline-leftout-sigbar/tree/txt
278+/* src-86 %jibb /tests/golden/inline-leftout-signed-float-auras/source/jibb
279+/* tok-86 %txt /tests/golden/inline-leftout-signed-float-auras/tokens/txt
280+/* tre-86 %txt /tests/golden/inline-leftout-signed-float-auras/tree/txt
281+/* src-87 %jibb /tests/golden/inline-leftout-signed-float-auras-2/source/jibb
282+/* tok-87 %txt /tests/golden/inline-leftout-signed-float-auras-2/tokens/txt
283+/* tre-87 %txt /tests/golden/inline-leftout-signed-float-auras-2/tree/txt
284+/* src-88 %jibb /tests/golden/inline-leftout-sigpam-wide/source/jibb
285+/* tok-88 %txt /tests/golden/inline-leftout-sigpam-wide/tokens/txt
286+/* tre-88 %txt /tests/golden/inline-leftout-sigpam-wide/tree/txt
287+/* src-89 %jibb /tests/golden/inline-leftout-tis-paren/source/jibb
288+/* tok-89 %txt /tests/golden/inline-leftout-tis-paren/tokens/txt
289+/* tre-89 %txt /tests/golden/inline-leftout-tis-paren/tree/txt
290+/* src-90 %jibb /tests/golden/inline-leftout-tisfas/source/jibb
291+/* tok-90 %txt /tests/golden/inline-leftout-tisfas/tokens/txt
292+/* tre-90 %txt /tests/golden/inline-leftout-tisfas/tree/txt
293+/* src-91 %jibb /tests/golden/inline-leftout-tisgal/source/jibb
294+/* tok-91 %txt /tests/golden/inline-leftout-tisgal/tokens/txt
295+/* tre-91 %txt /tests/golden/inline-leftout-tisgal/tree/txt
296+/* src-92 %jibb /tests/golden/inline-leftout-tisgal-2/source/jibb
297+/* tok-92 %txt /tests/golden/inline-leftout-tisgal-2/tokens/txt
298+/* tre-92 %txt /tests/golden/inline-leftout-tisgal-2/tree/txt
299+/* src-93 %jibb /tests/golden/inline-leftout-tisgar/source/jibb
300+/* tok-93 %txt /tests/golden/inline-leftout-tisgar/tokens/txt
301+/* tre-93 %txt /tests/golden/inline-leftout-tisgar/tree/txt
302+/* src-94 %jibb /tests/golden/inline-leftout-tislus/source/jibb
303+/* tok-94 %txt /tests/golden/inline-leftout-tislus/tokens/txt
304+/* tre-94 %txt /tests/golden/inline-leftout-tislus/tree/txt
305+/* src-95 %jibb /tests/golden/inline-leftout-tistis/source/jibb
306+/* tok-95 %txt /tests/golden/inline-leftout-tistis/tokens/txt
307+/* tre-95 %txt /tests/golden/inline-leftout-tistis/tree/txt
308+/* src-96 %jibb /tests/golden/inline-leftout-wutcol/source/jibb
309+/* tok-96 %txt /tests/golden/inline-leftout-wutcol/tokens/txt
310+/* tre-96 %txt /tests/golden/inline-leftout-wutcol/tree/txt
311+/* src-97 %jibb /tests/golden/inline-leftout-wutcol-2/source/jibb
312+/* tok-97 %txt /tests/golden/inline-leftout-wutcol-2/tokens/txt
313+/* tre-97 %txt /tests/golden/inline-leftout-wutcol-2/tree/txt
314+/* src-98 %jibb /tests/golden/inline-leftout-wuthep-wide/source/jibb
315+/* tok-98 %txt /tests/golden/inline-leftout-wuthep-wide/tokens/txt
316+/* tre-98 %txt /tests/golden/inline-leftout-wuthep-wide/tree/txt
317+/* src-99 %jibb /tests/golden/inline-leftout-wutlus/source/jibb
318+/* tok-99 %txt /tests/golden/inline-leftout-wutlus/tokens/txt
319+/* tre-99 %txt /tests/golden/inline-leftout-wutlus/tree/txt
320+/* src-100 %jibb /tests/golden/inline-leftout-wutsig/source/jibb
321+/* tok-100 %txt /tests/golden/inline-leftout-wutsig/tokens/txt
322+/* tre-100 %txt /tests/golden/inline-leftout-wutsig/tree/txt
323+/* src-101 %jibb /tests/golden/inline-leftout-wutzap/source/jibb
324+/* tok-101 %txt /tests/golden/inline-leftout-wutzap/tokens/txt
325+/* tre-101 %txt /tests/golden/inline-leftout-wutzap/tree/txt
326+/* src-102 %jibb /tests/golden/inline-leftout-zap-not/source/jibb
327+/* tok-102 %txt /tests/golden/inline-leftout-zap-not/tokens/txt
328+/* tre-102 %txt /tests/golden/inline-leftout-zap-not/tree/txt
329+/* src-103 %jibb /tests/golden/inline-leftout-zap-not-2/source/jibb
330+/* tok-103 %txt /tests/golden/inline-leftout-zap-not-2/tokens/txt
331+/* tre-103 %txt /tests/golden/inline-leftout-zap-not-2/tree/txt
332+/* src-104 %jibb /tests/golden/inline-leftout-zapgar/source/jibb
333+/* tok-104 %txt /tests/golden/inline-leftout-zapgar/tokens/txt
334+/* tre-104 %txt /tests/golden/inline-leftout-zapgar/tree/txt
335+/* src-105 %jibb /tests/golden/inline-list/source/jibb
336+/* tok-105 %txt /tests/golden/inline-list/tokens/txt
337+/* tre-105 %txt /tests/golden/inline-list/tree/txt
338+/* src-106 %jibb /tests/golden/inline-list-parens/source/jibb
339+/* tok-106 %txt /tests/golden/inline-list-parens/tokens/txt
340+/* tre-106 %txt /tests/golden/inline-list-parens/tree/txt
341+/* src-107 %jibb /tests/golden/inline-literal-defaults/source/jibb
342+/* tok-107 %txt /tests/golden/inline-literal-defaults/tokens/txt
343+/* tre-107 %txt /tests/golden/inline-literal-defaults/tree/txt
344+/* src-108 %jibb /tests/golden/inline-load-slug/source/jibb
345+/* tok-108 %txt /tests/golden/inline-load-slug/tokens/txt
346+/* tre-108 %txt /tests/golden/inline-load-slug/tree/txt
347+/* src-109 %jibb /tests/golden/inline-local-names/source/jibb
348+/* tok-109 %txt /tests/golden/inline-local-names/tokens/txt
349+/* tre-109 %txt /tests/golden/inline-local-names/tree/txt
350+/* src-110 %jibb /tests/golden/inline-local-names-bodies/source/jibb
351+/* tok-110 %txt /tests/golden/inline-local-names-bodies/tokens/txt
352+/* tre-110 %txt /tests/golden/inline-local-names-bodies/tree/txt
353+/* src-111 %jibb /tests/golden/inline-loobean/source/jibb
354+/* tok-111 %txt /tests/golden/inline-loobean/tokens/txt
355+/* tre-111 %txt /tests/golden/inline-loobean/tree/txt
356+/* src-112 %jibb /tests/golden/inline-mark-digit/source/jibb
357+/* tok-112 %txt /tests/golden/inline-mark-digit/tokens/txt
358+/* tre-112 %txt /tests/golden/inline-mark-digit/tree/txt
359+/* src-113 %jibb /tests/golden/inline-module-definitions/source/jibb
360+/* tok-113 %txt /tests/golden/inline-module-definitions/tokens/txt
361+/* tre-113 %txt /tests/golden/inline-module-definitions/tree/txt
362+/* src-114 %jibb /tests/golden/inline-mold-add/source/jibb
363+/* tok-114 %txt /tests/golden/inline-mold-add/tokens/txt
364+/* tre-114 %txt /tests/golden/inline-mold-add/tree/txt
365+/* src-115 %jibb /tests/golden/inline-mold-any-empty/source/jibb
366+/* tok-115 %txt /tests/golden/inline-mold-any-empty/tokens/txt
367+/* tre-115 %txt /tests/golden/inline-mold-any-empty/tree/txt
368+/* src-116 %jibb /tests/golden/inline-mold-atoms/source/jibb
369+/* tok-116 %txt /tests/golden/inline-mold-atoms/tokens/txt
370+/* tre-116 %txt /tests/golden/inline-mold-atoms/tree/txt
371+/* src-117 %jibb /tests/golden/inline-mold-constants/source/jibb
372+/* tok-117 %txt /tests/golden/inline-mold-constants/tokens/txt
373+/* tre-117 %txt /tests/golden/inline-mold-constants/tree/txt
374+/* src-118 %jibb /tests/golden/inline-mold-containers/source/jibb
375+/* tok-118 %txt /tests/golden/inline-mold-containers/tokens/txt
376+/* tre-118 %txt /tests/golden/inline-mold-containers/tree/txt
377+/* src-119 %jibb /tests/golden/inline-mold-gate/source/jibb
378+/* tok-119 %txt /tests/golden/inline-mold-gate/tokens/txt
379+/* tre-119 %txt /tests/golden/inline-mold-gate/tree/txt
380+/* src-120 %jibb /tests/golden/inline-mold-generic/source/jibb
381+/* tok-120 %txt /tests/golden/inline-mold-generic/tokens/txt
382+/* tre-120 %txt /tests/golden/inline-mold-generic/tree/txt
383+/* src-121 %jibb /tests/golden/inline-mold-opaque/source/jibb
384+/* tok-121 %txt /tests/golden/inline-mold-opaque/tokens/txt
385+/* tre-121 %txt /tests/golden/inline-mold-opaque/tree/txt
386+/* src-122 %jibb /tests/golden/inline-mold-paths/source/jibb
387+/* tok-122 %txt /tests/golden/inline-mold-paths/tokens/txt
388+/* tre-122 %txt /tests/golden/inline-mold-paths/tree/txt
389+/* src-123 %jibb /tests/golden/inline-mold-records/source/jibb
390+/* tok-123 %txt /tests/golden/inline-mold-records/tokens/txt
391+/* tre-123 %txt /tests/golden/inline-mold-records/tree/txt
392+/* src-124 %jibb /tests/golden/inline-namespaces/source/jibb
393+/* tok-124 %txt /tests/golden/inline-namespaces/tokens/txt
394+/* tre-124 %txt /tests/golden/inline-namespaces/tree/txt
395+/* src-125 %jibb /tests/golden/inline-no-operators/source/jibb
396+/* tok-125 %txt /tests/golden/inline-no-operators/tokens/txt
397+/* tre-125 %txt /tests/golden/inline-no-operators/tree/txt
398+/* src-126 %jibb /tests/golden/inline-no-subs/source/jibb
399+/* tok-126 %txt /tests/golden/inline-no-subs/tokens/txt
400+/* tre-126 %txt /tests/golden/inline-no-subs/tree/txt
401+/* src-127 %jibb /tests/golden/inline-null/source/jibb
402+/* tok-127 %txt /tests/golden/inline-null/tokens/txt
403+/* tre-127 %txt /tests/golden/inline-null/tree/txt
404+/* src-128 %jibb /tests/golden/inline-pair/source/jibb
405+/* tok-128 %txt /tests/golden/inline-pair/tokens/txt
406+/* tre-128 %txt /tests/golden/inline-pair/tree/txt
407+/* src-129 %jibb /tests/golden/inline-pairs-two-items/source/jibb
408+/* tok-129 %txt /tests/golden/inline-pairs-two-items/tokens/txt
409+/* tre-129 %txt /tests/golden/inline-pairs-two-items/tree/txt
410+/* src-130 %jibb /tests/golden/inline-path/source/jibb
411+/* tok-130 %txt /tests/golden/inline-path/tokens/txt
412+/* tre-130 %txt /tests/golden/inline-path/tree/txt
413+/* src-131 %jibb /tests/golden/inline-pattern-any/source/jibb
414+/* tok-131 %txt /tests/golden/inline-pattern-any/tokens/txt
415+/* tre-131 %txt /tests/golden/inline-pattern-any/tree/txt
416+/* src-132 %jibb /tests/golden/inline-pattern-cell/source/jibb
417+/* tok-132 %txt /tests/golden/inline-pattern-cell/tokens/txt
418+/* tre-132 %txt /tests/golden/inline-pattern-cell/tree/txt
419+/* src-133 %jibb /tests/golden/inline-pattern-cell-open-bad/source/jibb
420+/* tok-133 %txt /tests/golden/inline-pattern-cell-open-bad/tokens/txt
421+/* tre-133 %txt /tests/golden/inline-pattern-cell-open-bad/tree/txt
422+/* src-134 %jibb /tests/golden/inline-pattern-crash-arm/source/jibb
423+/* tok-134 %txt /tests/golden/inline-pattern-crash-arm/tokens/txt
424+/* tre-134 %txt /tests/golden/inline-pattern-crash-arm/tree/txt
425+/* src-135 %jibb /tests/golden/inline-pattern-crash-bad/source/jibb
426+/* tok-135 %txt /tests/golden/inline-pattern-crash-bad/tokens/txt
427+/* tre-135 %txt /tests/golden/inline-pattern-crash-bad/tree/txt
428+/* src-136 %jibb /tests/golden/inline-pattern-date-bad/source/jibb
429+/* tok-136 %txt /tests/golden/inline-pattern-date-bad/tokens/txt
430+/* tre-136 %txt /tests/golden/inline-pattern-date-bad/tree/txt
431+/* src-137 %jibb /tests/golden/inline-pattern-duration-bad/source/jibb
432+/* tok-137 %txt /tests/golden/inline-pattern-duration-bad/tokens/txt
433+/* tre-137 %txt /tests/golden/inline-pattern-duration-bad/tree/txt
434+/* src-138 %jibb /tests/golden/inline-pattern-eq/source/jibb
435+/* tok-138 %txt /tests/golden/inline-pattern-eq/tokens/txt
436+/* tre-138 %txt /tests/golden/inline-pattern-eq/tree/txt
437+/* src-139 %jibb /tests/golden/inline-pattern-face-bad/source/jibb
438+/* tok-139 %txt /tests/golden/inline-pattern-face-bad/tokens/txt
439+/* tre-139 %txt /tests/golden/inline-pattern-face-bad/tree/txt
440+/* src-140 %jibb /tests/golden/inline-pattern-head-tag/source/jibb
441+/* tok-140 %txt /tests/golden/inline-pattern-head-tag/tokens/txt
442+/* tre-140 %txt /tests/golden/inline-pattern-head-tag/tree/txt
443+/* src-141 %jibb /tests/golden/inline-pattern-interpolated-bad/source/jibb
444+/* tok-141 %txt /tests/golden/inline-pattern-interpolated-bad/tokens/txt
445+/* tre-141 %txt /tests/golden/inline-pattern-interpolated-bad/tree/txt
446+/* src-142 %jibb /tests/golden/inline-pattern-list-bad/source/jibb
447+/* tok-142 %txt /tests/golden/inline-pattern-list-bad/tokens/txt
448+/* tre-142 %txt /tests/golden/inline-pattern-list-bad/tree/txt
449+/* src-143 %jibb /tests/golden/inline-pattern-literals/source/jibb
450+/* tok-143 %txt /tests/golden/inline-pattern-literals/tokens/txt
451+/* tre-143 %txt /tests/golden/inline-pattern-literals/tree/txt
452+/* src-144 %jibb /tests/golden/inline-pattern-loobean/source/jibb
453+/* tok-144 %txt /tests/golden/inline-pattern-loobean/tokens/txt
454+/* tre-144 %txt /tests/golden/inline-pattern-loobean/tree/txt
455+/* src-145 %jibb /tests/golden/inline-pattern-move-any/source/jibb
456+/* tok-145 %txt /tests/golden/inline-pattern-move-any/tokens/txt
457+/* tre-145 %txt /tests/golden/inline-pattern-move-any/tree/txt
458+/* src-146 %jibb /tests/golden/inline-pattern-name/source/jibb
459+/* tok-146 %txt /tests/golden/inline-pattern-name/tokens/txt
460+/* tre-146 %txt /tests/golden/inline-pattern-name/tree/txt
461+/* src-147 %jibb /tests/golden/inline-pattern-null/source/jibb
462+/* tok-147 %txt /tests/golden/inline-pattern-null/tokens/txt
463+/* tre-147 %txt /tests/golden/inline-pattern-null/tree/txt
464+/* src-148 %jibb /tests/golden/inline-pattern-pair-bad/source/jibb
465+/* tok-148 %txt /tests/golden/inline-pattern-pair-bad/tokens/txt
466+/* tre-148 %txt /tests/golden/inline-pattern-pair-bad/tree/txt
467+/* src-149 %jibb /tests/golden/inline-pattern-tail-tag/source/jibb
468+/* tok-149 %txt /tests/golden/inline-pattern-tail-tag/tokens/txt
469+/* tre-149 %txt /tests/golden/inline-pattern-tail-tag/tree/txt
470+/* src-150 %jibb /tests/golden/inline-pattern-term/source/jibb
471+/* tok-150 %txt /tests/golden/inline-pattern-term/tokens/txt
472+/* tre-150 %txt /tests/golden/inline-pattern-term/tree/txt
473+/* src-151 %jibb /tests/golden/inline-pattern-two-tags/source/jibb
474+/* tok-151 %txt /tests/golden/inline-pattern-two-tags/tokens/txt
475+/* tre-151 %txt /tests/golden/inline-pattern-two-tags/tree/txt
476+/* src-152 %jibb /tests/golden/inline-pattern-unit/source/jibb
477+/* tok-152 %txt /tests/golden/inline-pattern-unit/tokens/txt
478+/* tre-152 %txt /tests/golden/inline-pattern-unit/tree/txt
479+/* src-153 %jibb /tests/golden/inline-qath/source/jibb
480+/* tok-153 %txt /tests/golden/inline-qath/tokens/txt
481+/* tre-153 %txt /tests/golden/inline-qath/tree/txt
482+/* src-154 %jibb /tests/golden/inline-requests/source/jibb
483+/* tok-154 %txt /tests/golden/inline-requests/tokens/txt
484+/* tre-154 %txt /tests/golden/inline-requests/tree/txt
485+/* src-155 %jibb /tests/golden/inline-scry-case/source/jibb
486+/* tok-155 %txt /tests/golden/inline-scry-case/tokens/txt
487+/* tre-155 %txt /tests/golden/inline-scry-case/tree/txt
488+/* src-156 %jibb /tests/golden/inline-self-reference/source/jibb
489+/* tok-156 %txt /tests/golden/inline-self-reference/tokens/txt
490+/* tre-156 %txt /tests/golden/inline-self-reference/tree/txt
491+/* src-157 %jibb /tests/golden/inline-ship/source/jibb
492+/* tok-157 %txt /tests/golden/inline-ship/tokens/txt
493+/* tre-157 %txt /tests/golden/inline-ship/tree/txt
494+/* src-158 %jibb /tests/golden/inline-static-image/source/jibb
495+/* tok-158 %txt /tests/golden/inline-static-image/tokens/txt
496+/* tre-158 %txt /tests/golden/inline-static-image/tree/txt
497+/* src-159 %jibb /tests/golden/inline-string/source/jibb
498+/* tok-159 %txt /tests/golden/inline-string/tokens/txt
499+/* tre-159 %txt /tests/golden/inline-string/tree/txt
500+/* src-160 %jibb /tests/golden/inline-tag-shape/source/jibb
501+/* tok-160 %txt /tests/golden/inline-tag-shape/tokens/txt
502+/* tre-160 %txt /tests/golden/inline-tag-shape/tree/txt
503+/* src-161 %jibb /tests/golden/inline-term/source/jibb
504+/* tok-161 %txt /tests/golden/inline-term/tokens/txt
505+/* tre-161 %txt /tests/golden/inline-term/tree/txt
506+/* src-162 %jibb /tests/golden/inline-term-numeric/source/jibb
507+/* tok-162 %txt /tests/golden/inline-term-numeric/tokens/txt
508+/* tre-162 %txt /tests/golden/inline-term-numeric/tree/txt
509+/* src-163 %jibb /tests/golden/inline-text-items/source/jibb
510+/* tok-163 %txt /tests/golden/inline-text-items/tokens/txt
511+/* tre-163 %txt /tests/golden/inline-text-items/tree/txt
512+/* src-164 %jibb /tests/golden/inline-union-both-bad/source/jibb
513+/* tok-164 %txt /tests/golden/inline-union-both-bad/tokens/txt
514+/* tre-164 %txt /tests/golden/inline-union-both-bad/tree/txt
515+/* src-165 %jibb /tests/golden/inline-union-local/source/jibb
516+/* tok-165 %txt /tests/golden/inline-union-local/tokens/txt
517+/* tre-165 %txt /tests/golden/inline-union-local/tree/txt
518+/* src-166 %jibb /tests/golden/inline-union-one-case/source/jibb
519+/* tok-166 %txt /tests/golden/inline-union-one-case/tokens/txt
520+/* tre-166 %txt /tests/golden/inline-union-one-case/tree/txt
521+/* src-167 %jibb /tests/golden/inline-union-record-bad/source/jibb
522+/* tok-167 %txt /tests/golden/inline-union-record-bad/tokens/txt
523+/* tre-167 %txt /tests/golden/inline-union-record-bad/tree/txt
524+/* src-168 %jibb /tests/golden/inline-union-wide/source/jibb
525+/* tok-168 %txt /tests/golden/inline-union-wide/tokens/txt
526+/* tre-168 %txt /tests/golden/inline-union-wide/tree/txt
527+/* src-169 %jibb /tests/golden/inline-unit/source/jibb
528+/* tok-169 %txt /tests/golden/inline-unit/tokens/txt
529+/* tre-169 %txt /tests/golden/inline-unit/tree/txt
530+/* src-170 %jibb /tests/golden/inline-wide-form-rune-bad/source/jibb
531+/* tok-170 %txt /tests/golden/inline-wide-form-rune-bad/tokens/txt
532+/* tre-170 %txt /tests/golden/inline-wide-form-rune-bad/tree/txt
533+/* src-171 %jibb /tests/golden/inline-wide-forms/source/jibb
534+/* tok-171 %txt /tests/golden/inline-wide-forms/tokens/txt
535+/* tre-171 %txt /tests/golden/inline-wide-forms/tree/txt
536+/* src-172 %jibb /tests/golden/inline-wide-union-call/source/jibb
537+/* tok-172 %txt /tests/golden/inline-wide-union-call/tokens/txt
538+/* tre-172 %txt /tests/golden/inline-wide-union-call/tree/txt
539+/* src-173 %jibb /tests/golden/inline-wings/source/jibb
540+/* tok-173 %txt /tests/golden/inline-wings/tokens/txt
541+/* tre-173 %txt /tests/golden/inline-wings/tree/txt
542+/* src-174 %jibb /tests/golden/lex-base32-bad-1/source/jibb
543+/* tok-174 %txt /tests/golden/lex-base32-bad-1/tokens/txt
544+/* tre-174 %txt /tests/golden/lex-base32-bad-1/tree/txt
545+/* src-175 %jibb /tests/golden/lex-base32-ok-1/source/jibb
546+/* tok-175 %txt /tests/golden/lex-base32-ok-1/tokens/txt
547+/* tre-175 %txt /tests/golden/lex-base32-ok-1/tree/txt
548+/* src-176 %jibb /tests/golden/lex-blob-bad-1/source/jibb
549+/* tok-176 %txt /tests/golden/lex-blob-bad-1/tokens/txt
550+/* tre-176 %txt /tests/golden/lex-blob-bad-1/tree/txt
551+/* src-177 %jibb /tests/golden/lex-call-open-bad-1/source/jibb
552+/* tok-177 %txt /tests/golden/lex-call-open-bad-1/tokens/txt
553+/* tre-177 %txt /tests/golden/lex-call-open-bad-1/tree/txt
554+/* src-178 %jibb /tests/golden/lex-call-open-bad-2/source/jibb
555+/* tok-178 %txt /tests/golden/lex-call-open-bad-2/tokens/txt
556+/* tre-178 %txt /tests/golden/lex-call-open-bad-2/tree/txt
557+/* src-179 %jibb /tests/golden/lex-call-open-bad-4/source/jibb
558+/* tok-179 %txt /tests/golden/lex-call-open-bad-4/tokens/txt
559+/* tre-179 %txt /tests/golden/lex-call-open-bad-4/tree/txt
560+/* src-180 %jibb /tests/golden/lex-call-open-ok-1/source/jibb
561+/* tok-180 %txt /tests/golden/lex-call-open-ok-1/tokens/txt
562+/* tre-180 %txt /tests/golden/lex-call-open-ok-1/tree/txt
563+/* src-181 %jibb /tests/golden/lex-call-open-ok-2/source/jibb
564+/* tok-181 %txt /tests/golden/lex-call-open-ok-2/tokens/txt
565+/* tre-181 %txt /tests/golden/lex-call-open-ok-2/tree/txt
566+/* src-182 %jibb /tests/golden/lex-cell-bad-1/source/jibb
567+/* tok-182 %txt /tests/golden/lex-cell-bad-1/tokens/txt
568+/* tre-182 %txt /tests/golden/lex-cell-bad-1/tree/txt
569+/* src-183 %jibb /tests/golden/lex-cell-ok-1/source/jibb
570+/* tok-183 %txt /tests/golden/lex-cell-ok-1/tokens/txt
571+/* tre-183 %txt /tests/golden/lex-cell-ok-1/tree/txt
572+/* src-184 %jibb /tests/golden/lex-closer-bad-1/source/jibb
573+/* tok-184 %txt /tests/golden/lex-closer-bad-1/tokens/txt
574+/* tre-184 %txt /tests/golden/lex-closer-bad-1/tree/txt
575+/* src-185 %jibb /tests/golden/lex-closer-bad-2/source/jibb
576+/* tok-185 %txt /tests/golden/lex-closer-bad-2/tokens/txt
577+/* tre-185 %txt /tests/golden/lex-closer-bad-2/tree/txt
578+/* src-186 %jibb /tests/golden/lex-closer-bad-3/source/jibb
579+/* tok-186 %txt /tests/golden/lex-closer-bad-3/tokens/txt
580+/* tre-186 %txt /tests/golden/lex-closer-bad-3/tree/txt
581+/* src-187 %jibb /tests/golden/lex-closer-bad-4/source/jibb
582+/* tok-187 %txt /tests/golden/lex-closer-bad-4/tokens/txt
583+/* tre-187 %txt /tests/golden/lex-closer-bad-4/tree/txt
584+/* src-188 %jibb /tests/golden/lex-codepoint-bad-1/source/jibb
585+/* tok-188 %txt /tests/golden/lex-codepoint-bad-1/tokens/txt
586+/* tre-188 %txt /tests/golden/lex-codepoint-bad-1/tree/txt
587+/* src-189 %jibb /tests/golden/lex-comment-bad-1/source/jibb
588+/* tok-189 %txt /tests/golden/lex-comment-bad-1/tokens/txt
589+/* tre-189 %txt /tests/golden/lex-comment-bad-1/tree/txt
590+/* src-190 %jibb /tests/golden/lex-comment-ok-1/source/jibb
591+/* tok-190 %txt /tests/golden/lex-comment-ok-1/tokens/txt
592+/* tre-190 %txt /tests/golden/lex-comment-ok-1/tree/txt
593+/* src-191 %jibb /tests/golden/lex-comment-ok-2/source/jibb
594+/* tok-191 %txt /tests/golden/lex-comment-ok-2/tokens/txt
595+/* tre-191 %txt /tests/golden/lex-comment-ok-2/tree/txt
596+/* src-192 %jibb /tests/golden/lex-comment-ok-3/source/jibb
597+/* tok-192 %txt /tests/golden/lex-comment-ok-3/tokens/txt
598+/* tre-192 %txt /tests/golden/lex-comment-ok-3/tree/txt
599+/* src-193 %jibb /tests/golden/lex-date-bad-1/source/jibb
600+/* tok-193 %txt /tests/golden/lex-date-bad-1/tokens/txt
601+/* tre-193 %txt /tests/golden/lex-date-bad-1/tree/txt
602+/* src-194 %jibb /tests/golden/lex-date-bad-2/source/jibb
603+/* tok-194 %txt /tests/golden/lex-date-bad-2/tokens/txt
604+/* tre-194 %txt /tests/golden/lex-date-bad-2/tree/txt
605+/* src-195 %jibb /tests/golden/lex-date-bad-3/source/jibb
606+/* tok-195 %txt /tests/golden/lex-date-bad-3/tokens/txt
607+/* tre-195 %txt /tests/golden/lex-date-bad-3/tree/txt
608+/* src-196 %jibb /tests/golden/lex-date-ok-1/source/jibb
609+/* tok-196 %txt /tests/golden/lex-date-ok-1/tokens/txt
610+/* tre-196 %txt /tests/golden/lex-date-ok-1/tree/txt
611+/* src-197 %jibb /tests/golden/lex-date-ok-2/source/jibb
612+/* tok-197 %txt /tests/golden/lex-date-ok-2/tokens/txt
613+/* tre-197 %txt /tests/golden/lex-date-ok-2/tree/txt
614+/* src-198 %jibb /tests/golden/lex-decimal-bad-1/source/jibb
615+/* tok-198 %txt /tests/golden/lex-decimal-bad-1/tokens/txt
616+/* tre-198 %txt /tests/golden/lex-decimal-bad-1/tree/txt
617+/* src-199 %jibb /tests/golden/lex-decimal-bad-2/source/jibb
618+/* tok-199 %txt /tests/golden/lex-decimal-bad-2/tokens/txt
619+/* tre-199 %txt /tests/golden/lex-decimal-bad-2/tree/txt
620+/* src-200 %jibb /tests/golden/lex-decimal-ok-1/source/jibb
621+/* tok-200 %txt /tests/golden/lex-decimal-ok-1/tokens/txt
622+/* tre-200 %txt /tests/golden/lex-decimal-ok-1/tree/txt
623+/* src-201 %jibb /tests/golden/lex-duration-bad-1/source/jibb
624+/* tok-201 %txt /tests/golden/lex-duration-bad-1/tokens/txt
625+/* tre-201 %txt /tests/golden/lex-duration-bad-1/tree/txt
626+/* src-202 %jibb /tests/golden/lex-duration-bad-2/source/jibb
627+/* tok-202 %txt /tests/golden/lex-duration-bad-2/tokens/txt
628+/* tre-202 %txt /tests/golden/lex-duration-bad-2/tree/txt
629+/* src-203 %jibb /tests/golden/lex-duration-ok-1/source/jibb
630+/* tok-203 %txt /tests/golden/lex-duration-ok-1/tokens/txt
631+/* tre-203 %txt /tests/golden/lex-duration-ok-1/tree/txt
632+/* src-204 %jibb /tests/golden/lex-hex-bad-1/source/jibb
633+/* tok-204 %txt /tests/golden/lex-hex-bad-1/tokens/txt
634+/* tre-204 %txt /tests/golden/lex-hex-bad-1/tree/txt
635+/* src-205 %jibb /tests/golden/lex-hex-ok-1/source/jibb
636+/* tok-205 %txt /tests/golden/lex-hex-ok-1/tokens/txt
637+/* tre-205 %txt /tests/golden/lex-hex-ok-1/tree/txt
638+/* src-206 %jibb /tests/golden/lex-indent-bad-1/source/jibb
639+/* tok-206 %txt /tests/golden/lex-indent-bad-1/tokens/txt
640+/* tre-206 %txt /tests/golden/lex-indent-bad-1/tree/txt
641+/* src-207 %jibb /tests/golden/lex-indent-bad-2/source/jibb
642+/* tok-207 %txt /tests/golden/lex-indent-bad-2/tokens/txt
643+/* tre-207 %txt /tests/golden/lex-indent-bad-2/tree/txt
644+/* src-208 %jibb /tests/golden/lex-indent-bad-3/source/jibb
645+/* tok-208 %txt /tests/golden/lex-indent-bad-3/tokens/txt
646+/* tre-208 %txt /tests/golden/lex-indent-bad-3/tree/txt
647+/* src-209 %jibb /tests/golden/lex-indent-ok-1/source/jibb
648+/* tok-209 %txt /tests/golden/lex-indent-ok-1/tokens/txt
649+/* tre-209 %txt /tests/golden/lex-indent-ok-1/tree/txt
650+/* src-210 %jibb /tests/golden/lex-indent-ok-2/source/jibb
651+/* tok-210 %txt /tests/golden/lex-indent-ok-2/tokens/txt
652+/* tre-210 %txt /tests/golden/lex-indent-ok-2/tree/txt
653+/* src-211 %jibb /tests/golden/lex-indent-ok-3/source/jibb
654+/* tok-211 %txt /tests/golden/lex-indent-ok-3/tokens/txt
655+/* tre-211 %txt /tests/golden/lex-indent-ok-3/tree/txt
656+/* src-212 %jibb /tests/golden/lex-interp-bad-1/source/jibb
657+/* tok-212 %txt /tests/golden/lex-interp-bad-1/tokens/txt
658+/* tre-212 %txt /tests/golden/lex-interp-bad-1/tree/txt
659+/* src-213 %jibb /tests/golden/lex-interp-bad-2/source/jibb
660+/* tok-213 %txt /tests/golden/lex-interp-bad-2/tokens/txt
661+/* tre-213 %txt /tests/golden/lex-interp-bad-2/tree/txt
662+/* src-214 %jibb /tests/golden/lex-interp-bad-3/source/jibb
663+/* tok-214 %txt /tests/golden/lex-interp-bad-3/tokens/txt
664+/* tre-214 %txt /tests/golden/lex-interp-bad-3/tree/txt
665+/* src-215 %jibb /tests/golden/lex-interp-bad-5/source/jibb
666+/* tok-215 %txt /tests/golden/lex-interp-bad-5/tokens/txt
667+/* tre-215 %txt /tests/golden/lex-interp-bad-5/tree/txt
668+/* src-216 %jibb /tests/golden/lex-interp-bad-6/source/jibb
669+/* tok-216 %txt /tests/golden/lex-interp-bad-6/tokens/txt
670+/* tre-216 %txt /tests/golden/lex-interp-bad-6/tree/txt
671+/* src-217 %jibb /tests/golden/lex-interp-ok-1/source/jibb
672+/* tok-217 %txt /tests/golden/lex-interp-ok-1/tokens/txt
673+/* tre-217 %txt /tests/golden/lex-interp-ok-1/tree/txt
674+/* src-218 %jibb /tests/golden/lex-interp-ok-2/source/jibb
675+/* tok-218 %txt /tests/golden/lex-interp-ok-2/tokens/txt
676+/* tre-218 %txt /tests/golden/lex-interp-ok-2/tree/txt
677+/* src-219 %jibb /tests/golden/lex-interp-ok-3/source/jibb
678+/* tok-219 %txt /tests/golden/lex-interp-ok-3/tokens/txt
679+/* tre-219 %txt /tests/golden/lex-interp-ok-3/tree/txt
680+/* src-220 %jibb /tests/golden/lex-knot-bad-1/source/jibb
681+/* tok-220 %txt /tests/golden/lex-knot-bad-1/tokens/txt
682+/* tre-220 %txt /tests/golden/lex-knot-bad-1/tree/txt
683+/* src-221 %jibb /tests/golden/lex-knot-ok-1/source/jibb
684+/* tok-221 %txt /tests/golden/lex-knot-ok-1/tokens/txt
685+/* tre-221 %txt /tests/golden/lex-knot-ok-1/tree/txt
686+/* src-222 %jibb /tests/golden/lex-layout-bad-1/source/jibb
687+/* tok-222 %txt /tests/golden/lex-layout-bad-1/tokens/txt
688+/* tre-222 %txt /tests/golden/lex-layout-bad-1/tree/txt
689+/* src-223 %jibb /tests/golden/lex-layout-bad-10/source/jibb
690+/* tok-223 %txt /tests/golden/lex-layout-bad-10/tokens/txt
691+/* tre-223 %txt /tests/golden/lex-layout-bad-10/tree/txt
692+/* src-224 %jibb /tests/golden/lex-layout-bad-2/source/jibb
693+/* tok-224 %txt /tests/golden/lex-layout-bad-2/tokens/txt
694+/* tre-224 %txt /tests/golden/lex-layout-bad-2/tree/txt
695+/* src-225 %jibb /tests/golden/lex-layout-bad-3/source/jibb
696+/* tok-225 %txt /tests/golden/lex-layout-bad-3/tokens/txt
697+/* tre-225 %txt /tests/golden/lex-layout-bad-3/tree/txt
698+/* src-226 %jibb /tests/golden/lex-layout-bad-4/source/jibb
699+/* tok-226 %txt /tests/golden/lex-layout-bad-4/tokens/txt
700+/* tre-226 %txt /tests/golden/lex-layout-bad-4/tree/txt
701+/* src-227 %jibb /tests/golden/lex-layout-bad-5/source/jibb
702+/* tok-227 %txt /tests/golden/lex-layout-bad-5/tokens/txt
703+/* tre-227 %txt /tests/golden/lex-layout-bad-5/tree/txt
704+/* src-228 %jibb /tests/golden/lex-layout-bad-6/source/jibb
705+/* tok-228 %txt /tests/golden/lex-layout-bad-6/tokens/txt
706+/* tre-228 %txt /tests/golden/lex-layout-bad-6/tree/txt
707+/* src-229 %jibb /tests/golden/lex-layout-bad-7/source/jibb
708+/* tok-229 %txt /tests/golden/lex-layout-bad-7/tokens/txt
709+/* tre-229 %txt /tests/golden/lex-layout-bad-7/tree/txt
710+/* src-230 %jibb /tests/golden/lex-layout-bad-8/source/jibb
711+/* tok-230 %txt /tests/golden/lex-layout-bad-8/tokens/txt
712+/* tre-230 %txt /tests/golden/lex-layout-bad-8/tree/txt
713+/* src-231 %jibb /tests/golden/lex-layout-bad-9/source/jibb
714+/* tok-231 %txt /tests/golden/lex-layout-bad-9/tokens/txt
715+/* tre-231 %txt /tests/golden/lex-layout-bad-9/tree/txt
716+/* src-232 %jibb /tests/golden/lex-layout-ok-1/source/jibb
717+/* tok-232 %txt /tests/golden/lex-layout-ok-1/tokens/txt
718+/* tre-232 %txt /tests/golden/lex-layout-ok-1/tree/txt
719+/* src-233 %jibb /tests/golden/lex-list-bad-1/source/jibb
720+/* tok-233 %txt /tests/golden/lex-list-bad-1/tokens/txt
721+/* tre-233 %txt /tests/golden/lex-list-bad-1/tree/txt
722+/* src-234 %jibb /tests/golden/lex-list-ok-1/source/jibb
723+/* tok-234 %txt /tests/golden/lex-list-ok-1/tokens/txt
724+/* tre-234 %txt /tests/golden/lex-list-ok-1/tree/txt
725+/* src-235 %jibb /tests/golden/lex-loobean-bad-1/source/jibb
726+/* tok-235 %txt /tests/golden/lex-loobean-bad-1/tokens/txt
727+/* tre-235 %txt /tests/golden/lex-loobean-bad-1/tree/txt
728+/* src-236 %jibb /tests/golden/lex-loobean-ok-1/source/jibb
729+/* tok-236 %txt /tests/golden/lex-loobean-ok-1/tokens/txt
730+/* tre-236 %txt /tests/golden/lex-loobean-ok-1/tree/txt
731+/* src-237 %jibb /tests/golden/lex-name-bad-1/source/jibb
732+/* tok-237 %txt /tests/golden/lex-name-bad-1/tokens/txt
733+/* tre-237 %txt /tests/golden/lex-name-bad-1/tree/txt
734+/* src-238 %jibb /tests/golden/lex-name-bad-2/source/jibb
735+/* tok-238 %txt /tests/golden/lex-name-bad-2/tokens/txt
736+/* tre-238 %txt /tests/golden/lex-name-bad-2/tree/txt
737+/* src-239 %jibb /tests/golden/lex-name-bad-3/source/jibb
738+/* tok-239 %txt /tests/golden/lex-name-bad-3/tokens/txt
739+/* tre-239 %txt /tests/golden/lex-name-bad-3/tree/txt
740+/* src-240 %jibb /tests/golden/lex-name-bad-4/source/jibb
741+/* tok-240 %txt /tests/golden/lex-name-bad-4/tokens/txt
742+/* tre-240 %txt /tests/golden/lex-name-bad-4/tree/txt
743+/* src-241 %jibb /tests/golden/lex-name-bad-5/source/jibb
744+/* tok-241 %txt /tests/golden/lex-name-bad-5/tokens/txt
745+/* tre-241 %txt /tests/golden/lex-name-bad-5/tree/txt
746+/* src-242 %jibb /tests/golden/lex-name-bad-6/source/jibb
747+/* tok-242 %txt /tests/golden/lex-name-bad-6/tokens/txt
748+/* tre-242 %txt /tests/golden/lex-name-bad-6/tree/txt
749+/* src-243 %jibb /tests/golden/lex-name-ok-1/source/jibb
750+/* tok-243 %txt /tests/golden/lex-name-ok-1/tokens/txt
751+/* tre-243 %txt /tests/golden/lex-name-ok-1/tree/txt
752+/* src-244 %jibb /tests/golden/lex-null-bad-1/source/jibb
753+/* tok-244 %txt /tests/golden/lex-null-bad-1/tokens/txt
754+/* tre-244 %txt /tests/golden/lex-null-bad-1/tree/txt
755+/* src-245 %jibb /tests/golden/lex-null-bad-2/source/jibb
756+/* tok-245 %txt /tests/golden/lex-null-bad-2/tokens/txt
757+/* tre-245 %txt /tests/golden/lex-null-bad-2/tree/txt
758+/* src-246 %jibb /tests/golden/lex-null-ok-1/source/jibb
759+/* tok-246 %txt /tests/golden/lex-null-ok-1/tokens/txt
760+/* tre-246 %txt /tests/golden/lex-null-ok-1/tree/txt
761+/* src-247 %jibb /tests/golden/lex-open-bracket-bad-1/source/jibb
762+/* tok-247 %txt /tests/golden/lex-open-bracket-bad-1/tokens/txt
763+/* tre-247 %txt /tests/golden/lex-open-bracket-bad-1/tree/txt
764+/* src-248 %jibb /tests/golden/lex-open-bracket-bad-10/source/jibb
765+/* tok-248 %txt /tests/golden/lex-open-bracket-bad-10/tokens/txt
766+/* tre-248 %txt /tests/golden/lex-open-bracket-bad-10/tree/txt
767+/* src-249 %jibb /tests/golden/lex-open-bracket-bad-11/source/jibb
768+/* tok-249 %txt /tests/golden/lex-open-bracket-bad-11/tokens/txt
769+/* tre-249 %txt /tests/golden/lex-open-bracket-bad-11/tree/txt
770+/* src-250 %jibb /tests/golden/lex-open-bracket-bad-12/source/jibb
771+/* tok-250 %txt /tests/golden/lex-open-bracket-bad-12/tokens/txt
772+/* tre-250 %txt /tests/golden/lex-open-bracket-bad-12/tree/txt
773+/* src-251 %jibb /tests/golden/lex-open-bracket-bad-13/source/jibb
774+/* tok-251 %txt /tests/golden/lex-open-bracket-bad-13/tokens/txt
775+/* tre-251 %txt /tests/golden/lex-open-bracket-bad-13/tree/txt
776+/* src-252 %jibb /tests/golden/lex-open-bracket-bad-14/source/jibb
777+/* tok-252 %txt /tests/golden/lex-open-bracket-bad-14/tokens/txt
778+/* tre-252 %txt /tests/golden/lex-open-bracket-bad-14/tree/txt
779+/* src-253 %jibb /tests/golden/lex-open-bracket-bad-15/source/jibb
780+/* tok-253 %txt /tests/golden/lex-open-bracket-bad-15/tokens/txt
781+/* tre-253 %txt /tests/golden/lex-open-bracket-bad-15/tree/txt
782+/* src-254 %jibb /tests/golden/lex-open-bracket-bad-16/source/jibb
783+/* tok-254 %txt /tests/golden/lex-open-bracket-bad-16/tokens/txt
784+/* tre-254 %txt /tests/golden/lex-open-bracket-bad-16/tree/txt
785+/* src-255 %jibb /tests/golden/lex-open-bracket-bad-2/source/jibb
786+/* tok-255 %txt /tests/golden/lex-open-bracket-bad-2/tokens/txt
787+/* tre-255 %txt /tests/golden/lex-open-bracket-bad-2/tree/txt
788+/* src-256 %jibb /tests/golden/lex-open-bracket-bad-3/source/jibb
789+/* tok-256 %txt /tests/golden/lex-open-bracket-bad-3/tokens/txt
790+/* tre-256 %txt /tests/golden/lex-open-bracket-bad-3/tree/txt
791+/* src-257 %jibb /tests/golden/lex-open-bracket-bad-5/source/jibb
792+/* tok-257 %txt /tests/golden/lex-open-bracket-bad-5/tokens/txt
793+/* tre-257 %txt /tests/golden/lex-open-bracket-bad-5/tree/txt
794+/* src-258 %jibb /tests/golden/lex-open-bracket-bad-6/source/jibb
795+/* tok-258 %txt /tests/golden/lex-open-bracket-bad-6/tokens/txt
796+/* tre-258 %txt /tests/golden/lex-open-bracket-bad-6/tree/txt
797+/* src-259 %jibb /tests/golden/lex-open-bracket-bad-7/source/jibb
798+/* tok-259 %txt /tests/golden/lex-open-bracket-bad-7/tokens/txt
799+/* tre-259 %txt /tests/golden/lex-open-bracket-bad-7/tree/txt
800+/* src-260 %jibb /tests/golden/lex-open-bracket-bad-8/source/jibb
801+/* tok-260 %txt /tests/golden/lex-open-bracket-bad-8/tokens/txt
802+/* tre-260 %txt /tests/golden/lex-open-bracket-bad-8/tree/txt
803+/* src-261 %jibb /tests/golden/lex-open-bracket-bad-9/source/jibb
804+/* tok-261 %txt /tests/golden/lex-open-bracket-bad-9/tokens/txt
805+/* tre-261 %txt /tests/golden/lex-open-bracket-bad-9/tree/txt
806+/* src-262 %jibb /tests/golden/lex-open-bracket-ok-1/source/jibb
807+/* tok-262 %txt /tests/golden/lex-open-bracket-ok-1/tokens/txt
808+/* tre-262 %txt /tests/golden/lex-open-bracket-ok-1/tree/txt
809+/* src-263 %jibb /tests/golden/lex-open-bracket-ok-2/source/jibb
810+/* tok-263 %txt /tests/golden/lex-open-bracket-ok-2/tokens/txt
811+/* tre-263 %txt /tests/golden/lex-open-bracket-ok-2/tree/txt
812+/* src-264 %jibb /tests/golden/lex-open-bracket-ok-3/source/jibb
813+/* tok-264 %txt /tests/golden/lex-open-bracket-ok-3/tokens/txt
814+/* tre-264 %txt /tests/golden/lex-open-bracket-ok-3/tree/txt
815+/* src-265 %jibb /tests/golden/lex-open-bracket-ok-4/source/jibb
816+/* tok-265 %txt /tests/golden/lex-open-bracket-ok-4/tokens/txt
817+/* tre-265 %txt /tests/golden/lex-open-bracket-ok-4/tree/txt
818+/* src-266 %jibb /tests/golden/lex-open-bracket-ok-5/source/jibb
819+/* tok-266 %txt /tests/golden/lex-open-bracket-ok-5/tokens/txt
820+/* tre-266 %txt /tests/golden/lex-open-bracket-ok-5/tree/txt
821+/* src-267 %jibb /tests/golden/lex-open-bracket-ok-6/source/jibb
822+/* tok-267 %txt /tests/golden/lex-open-bracket-ok-6/tokens/txt
823+/* tre-267 %txt /tests/golden/lex-open-bracket-ok-6/tree/txt
824+/* src-268 %jibb /tests/golden/lex-open-bracket-ok-7/source/jibb
825+/* tok-268 %txt /tests/golden/lex-open-bracket-ok-7/tokens/txt
826+/* tre-268 %txt /tests/golden/lex-open-bracket-ok-7/tree/txt
827+/* src-269 %jibb /tests/golden/lex-open-bracket-ok-8/source/jibb
828+/* tok-269 %txt /tests/golden/lex-open-bracket-ok-8/tokens/txt
829+/* tre-269 %txt /tests/golden/lex-open-bracket-ok-8/tree/txt
830+/* src-270 %jibb /tests/golden/lex-open-bracket-ok-9/source/jibb
831+/* tok-270 %txt /tests/golden/lex-open-bracket-ok-9/tokens/txt
832+/* tre-270 %txt /tests/golden/lex-open-bracket-ok-9/tree/txt
833+/* src-271 %jibb /tests/golden/lex-open-mold-bad-1/source/jibb
834+/* tok-271 %txt /tests/golden/lex-open-mold-bad-1/tokens/txt
835+/* tre-271 %txt /tests/golden/lex-open-mold-bad-1/tree/txt
836+/* src-272 %jibb /tests/golden/lex-open-mold-bad-10/source/jibb
837+/* tok-272 %txt /tests/golden/lex-open-mold-bad-10/tokens/txt
838+/* tre-272 %txt /tests/golden/lex-open-mold-bad-10/tree/txt
839+/* src-273 %jibb /tests/golden/lex-open-mold-bad-11/source/jibb
840+/* tok-273 %txt /tests/golden/lex-open-mold-bad-11/tokens/txt
841+/* tre-273 %txt /tests/golden/lex-open-mold-bad-11/tree/txt
842+/* src-274 %jibb /tests/golden/lex-open-mold-bad-12/source/jibb
843+/* tok-274 %txt /tests/golden/lex-open-mold-bad-12/tokens/txt
844+/* tre-274 %txt /tests/golden/lex-open-mold-bad-12/tree/txt
845+/* src-275 %jibb /tests/golden/lex-open-mold-bad-13/source/jibb
846+/* tok-275 %txt /tests/golden/lex-open-mold-bad-13/tokens/txt
847+/* tre-275 %txt /tests/golden/lex-open-mold-bad-13/tree/txt
848+/* src-276 %jibb /tests/golden/lex-open-mold-bad-14/source/jibb
849+/* tok-276 %txt /tests/golden/lex-open-mold-bad-14/tokens/txt
850+/* tre-276 %txt /tests/golden/lex-open-mold-bad-14/tree/txt
851+/* src-277 %jibb /tests/golden/lex-open-mold-bad-15/source/jibb
852+/* tok-277 %txt /tests/golden/lex-open-mold-bad-15/tokens/txt
853+/* tre-277 %txt /tests/golden/lex-open-mold-bad-15/tree/txt
854+/* src-278 %jibb /tests/golden/lex-open-mold-bad-16/source/jibb
855+/* tok-278 %txt /tests/golden/lex-open-mold-bad-16/tokens/txt
856+/* tre-278 %txt /tests/golden/lex-open-mold-bad-16/tree/txt
857+/* src-279 %jibb /tests/golden/lex-open-mold-bad-2/source/jibb
858+/* tok-279 %txt /tests/golden/lex-open-mold-bad-2/tokens/txt
859+/* tre-279 %txt /tests/golden/lex-open-mold-bad-2/tree/txt
860+/* src-280 %jibb /tests/golden/lex-open-mold-bad-3/source/jibb
861+/* tok-280 %txt /tests/golden/lex-open-mold-bad-3/tokens/txt
862+/* tre-280 %txt /tests/golden/lex-open-mold-bad-3/tree/txt
863+/* src-281 %jibb /tests/golden/lex-open-mold-bad-4/source/jibb
864+/* tok-281 %txt /tests/golden/lex-open-mold-bad-4/tokens/txt
865+/* tre-281 %txt /tests/golden/lex-open-mold-bad-4/tree/txt
866+/* src-282 %jibb /tests/golden/lex-open-mold-bad-5/source/jibb
867+/* tok-282 %txt /tests/golden/lex-open-mold-bad-5/tokens/txt
868+/* tre-282 %txt /tests/golden/lex-open-mold-bad-5/tree/txt
869+/* src-283 %jibb /tests/golden/lex-open-mold-bad-6/source/jibb
870+/* tok-283 %txt /tests/golden/lex-open-mold-bad-6/tokens/txt
871+/* tre-283 %txt /tests/golden/lex-open-mold-bad-6/tree/txt
872+/* src-284 %jibb /tests/golden/lex-open-mold-bad-7/source/jibb
873+/* tok-284 %txt /tests/golden/lex-open-mold-bad-7/tokens/txt
874+/* tre-284 %txt /tests/golden/lex-open-mold-bad-7/tree/txt
875+/* src-285 %jibb /tests/golden/lex-open-mold-bad-8/source/jibb
876+/* tok-285 %txt /tests/golden/lex-open-mold-bad-8/tokens/txt
877+/* tre-285 %txt /tests/golden/lex-open-mold-bad-8/tree/txt
878+/* src-286 %jibb /tests/golden/lex-open-mold-bad-9/source/jibb
879+/* tok-286 %txt /tests/golden/lex-open-mold-bad-9/tokens/txt
880+/* tre-286 %txt /tests/golden/lex-open-mold-bad-9/tree/txt
881+/* src-287 %jibb /tests/golden/lex-open-mold-ok-1/source/jibb
882+/* tok-287 %txt /tests/golden/lex-open-mold-ok-1/tokens/txt
883+/* tre-287 %txt /tests/golden/lex-open-mold-ok-1/tree/txt
884+/* src-288 %jibb /tests/golden/lex-open-mold-ok-2/source/jibb
885+/* tok-288 %txt /tests/golden/lex-open-mold-ok-2/tokens/txt
886+/* tre-288 %txt /tests/golden/lex-open-mold-ok-2/tree/txt
887+/* src-289 %jibb /tests/golden/lex-open-mold-ok-3/source/jibb
888+/* tok-289 %txt /tests/golden/lex-open-mold-ok-3/tokens/txt
889+/* tre-289 %txt /tests/golden/lex-open-mold-ok-3/tree/txt
890+/* src-290 %jibb /tests/golden/lex-open-mold-ok-4/source/jibb
891+/* tok-290 %txt /tests/golden/lex-open-mold-ok-4/tokens/txt
892+/* tre-290 %txt /tests/golden/lex-open-mold-ok-4/tree/txt
893+/* src-291 %jibb /tests/golden/lex-open-mold-ok-5/source/jibb
894+/* tok-291 %txt /tests/golden/lex-open-mold-ok-5/tokens/txt
895+/* tre-291 %txt /tests/golden/lex-open-mold-ok-5/tree/txt
896+/* src-292 %jibb /tests/golden/lex-open-mold-ok-6/source/jibb
897+/* tok-292 %txt /tests/golden/lex-open-mold-ok-6/tokens/txt
898+/* tre-292 %txt /tests/golden/lex-open-mold-ok-6/tree/txt
899+/* src-293 %jibb /tests/golden/lex-pair-binding-bad-1/source/jibb
900+/* tok-293 %txt /tests/golden/lex-pair-binding-bad-1/tokens/txt
901+/* tre-293 %txt /tests/golden/lex-pair-binding-bad-1/tree/txt
902+/* src-294 %jibb /tests/golden/lex-pair-binding-ok-1/source/jibb
903+/* tok-294 %txt /tests/golden/lex-pair-binding-ok-1/tokens/txt
904+/* tre-294 %txt /tests/golden/lex-pair-binding-ok-1/tree/txt
905+/* src-295 %jibb /tests/golden/lex-path-bad-1/source/jibb
906+/* tok-295 %txt /tests/golden/lex-path-bad-1/tokens/txt
907+/* tre-295 %txt /tests/golden/lex-path-bad-1/tree/txt
908+/* src-296 %jibb /tests/golden/lex-path-ok-1/source/jibb
909+/* tok-296 %txt /tests/golden/lex-path-ok-1/tokens/txt
910+/* tre-296 %txt /tests/golden/lex-path-ok-1/tree/txt
911+/* src-297 %jibb /tests/golden/lex-rune-layout-bad-1/source/jibb
912+/* tok-297 %txt /tests/golden/lex-rune-layout-bad-1/tokens/txt
913+/* tre-297 %txt /tests/golden/lex-rune-layout-bad-1/tree/txt
914+/* src-298 %jibb /tests/golden/lex-rune-layout-bad-11/source/jibb
915+/* tok-298 %txt /tests/golden/lex-rune-layout-bad-11/tokens/txt
916+/* tre-298 %txt /tests/golden/lex-rune-layout-bad-11/tree/txt
917+/* src-299 %jibb /tests/golden/lex-rune-layout-bad-12/source/jibb
918+/* tok-299 %txt /tests/golden/lex-rune-layout-bad-12/tokens/txt
919+/* tre-299 %txt /tests/golden/lex-rune-layout-bad-12/tree/txt
920+/* src-300 %jibb /tests/golden/lex-rune-layout-bad-13/source/jibb
921+/* tok-300 %txt /tests/golden/lex-rune-layout-bad-13/tokens/txt
922+/* tre-300 %txt /tests/golden/lex-rune-layout-bad-13/tree/txt
923+/* src-301 %jibb /tests/golden/lex-rune-layout-bad-14/source/jibb
924+/* tok-301 %txt /tests/golden/lex-rune-layout-bad-14/tokens/txt
925+/* tre-301 %txt /tests/golden/lex-rune-layout-bad-14/tree/txt
926+/* src-302 %jibb /tests/golden/lex-rune-layout-bad-15/source/jibb
927+/* tok-302 %txt /tests/golden/lex-rune-layout-bad-15/tokens/txt
928+/* tre-302 %txt /tests/golden/lex-rune-layout-bad-15/tree/txt
929+/* src-303 %jibb /tests/golden/lex-rune-layout-bad-2/source/jibb
930+/* tok-303 %txt /tests/golden/lex-rune-layout-bad-2/tokens/txt
931+/* tre-303 %txt /tests/golden/lex-rune-layout-bad-2/tree/txt
932+/* src-304 %jibb /tests/golden/lex-rune-layout-bad-3/source/jibb
933+/* tok-304 %txt /tests/golden/lex-rune-layout-bad-3/tokens/txt
934+/* tre-304 %txt /tests/golden/lex-rune-layout-bad-3/tree/txt
935+/* src-305 %jibb /tests/golden/lex-rune-layout-bad-4/source/jibb
936+/* tok-305 %txt /tests/golden/lex-rune-layout-bad-4/tokens/txt
937+/* tre-305 %txt /tests/golden/lex-rune-layout-bad-4/tree/txt
938+/* src-306 %jibb /tests/golden/lex-rune-layout-bad-5/source/jibb
939+/* tok-306 %txt /tests/golden/lex-rune-layout-bad-5/tokens/txt
940+/* tre-306 %txt /tests/golden/lex-rune-layout-bad-5/tree/txt
941+/* src-307 %jibb /tests/golden/lex-rune-layout-bad-6/source/jibb
942+/* tok-307 %txt /tests/golden/lex-rune-layout-bad-6/tokens/txt
943+/* tre-307 %txt /tests/golden/lex-rune-layout-bad-6/tree/txt
944+/* src-308 %jibb /tests/golden/lex-rune-layout-bad-7/source/jibb
945+/* tok-308 %txt /tests/golden/lex-rune-layout-bad-7/tokens/txt
946+/* tre-308 %txt /tests/golden/lex-rune-layout-bad-7/tree/txt
947+/* src-309 %jibb /tests/golden/lex-rune-layout-bad-8/source/jibb
948+/* tok-309 %txt /tests/golden/lex-rune-layout-bad-8/tokens/txt
949+/* tre-309 %txt /tests/golden/lex-rune-layout-bad-8/tree/txt
950+/* src-310 %jibb /tests/golden/lex-rune-layout-bad-9/source/jibb
951+/* tok-310 %txt /tests/golden/lex-rune-layout-bad-9/tokens/txt
952+/* tre-310 %txt /tests/golden/lex-rune-layout-bad-9/tree/txt
953+/* src-311 %jibb /tests/golden/lex-rune-layout-ok-1/source/jibb
954+/* tok-311 %txt /tests/golden/lex-rune-layout-ok-1/tokens/txt
955+/* tre-311 %txt /tests/golden/lex-rune-layout-ok-1/tree/txt
956+/* src-312 %jibb /tests/golden/lex-rune-layout-ok-2/source/jibb
957+/* tok-312 %txt /tests/golden/lex-rune-layout-ok-2/tokens/txt
958+/* tre-312 %txt /tests/golden/lex-rune-layout-ok-2/tree/txt
959+/* src-313 %jibb /tests/golden/lex-ship-bad-1/source/jibb
960+/* tok-313 %txt /tests/golden/lex-ship-bad-1/tokens/txt
961+/* tre-313 %txt /tests/golden/lex-ship-bad-1/tree/txt
962+/* src-314 %jibb /tests/golden/lex-ship-ok-1/source/jibb
963+/* tok-314 %txt /tests/golden/lex-ship-ok-1/tokens/txt
964+/* tre-314 %txt /tests/golden/lex-ship-ok-1/tree/txt
965+/* src-315 %jibb /tests/golden/lex-spacing-bad-1/source/jibb
966+/* tok-315 %txt /tests/golden/lex-spacing-bad-1/tokens/txt
967+/* tre-315 %txt /tests/golden/lex-spacing-bad-1/tree/txt
968+/* src-316 %jibb /tests/golden/lex-spacing-bad-2/source/jibb
969+/* tok-316 %txt /tests/golden/lex-spacing-bad-2/tokens/txt
970+/* tre-316 %txt /tests/golden/lex-spacing-bad-2/tree/txt
971+/* src-317 %jibb /tests/golden/lex-spacing-ok-1/source/jibb
972+/* tok-317 %txt /tests/golden/lex-spacing-ok-1/tokens/txt
973+/* tre-317 %txt /tests/golden/lex-spacing-ok-1/tree/txt
974+/* src-318 %jibb /tests/golden/lex-spacing-ok-2/source/jibb
975+/* tok-318 %txt /tests/golden/lex-spacing-ok-2/tokens/txt
976+/* tre-318 %txt /tests/golden/lex-spacing-ok-2/tree/txt
977+/* src-319 %jibb /tests/golden/lex-spacing-ok-3/source/jibb
978+/* tok-319 %txt /tests/golden/lex-spacing-ok-3/tokens/txt
979+/* tre-319 %txt /tests/golden/lex-spacing-ok-3/tree/txt
980+/* src-320 %jibb /tests/golden/lex-string-bad-1/source/jibb
981+/* tok-320 %txt /tests/golden/lex-string-bad-1/tokens/txt
982+/* tre-320 %txt /tests/golden/lex-string-bad-1/tree/txt
983+/* src-321 %jibb /tests/golden/lex-string-bad-2/source/jibb
984+/* tok-321 %txt /tests/golden/lex-string-bad-2/tokens/txt
985+/* tre-321 %txt /tests/golden/lex-string-bad-2/tree/txt
986+/* src-322 %jibb /tests/golden/lex-string-ok-1/source/jibb
987+/* tok-322 %txt /tests/golden/lex-string-ok-1/tokens/txt
988+/* tre-322 %txt /tests/golden/lex-string-ok-1/tree/txt
989+/* src-323 %jibb /tests/golden/lex-term-bad-1/source/jibb
990+/* tok-323 %txt /tests/golden/lex-term-bad-1/tokens/txt
991+/* tre-323 %txt /tests/golden/lex-term-bad-1/tree/txt
992+/* src-324 %jibb /tests/golden/lex-term-bad-10/source/jibb
993+/* tok-324 %txt /tests/golden/lex-term-bad-10/tokens/txt
994+/* tre-324 %txt /tests/golden/lex-term-bad-10/tree/txt
995+/* src-325 %jibb /tests/golden/lex-term-bad-11/source/jibb
996+/* tok-325 %txt /tests/golden/lex-term-bad-11/tokens/txt
997+/* tre-325 %txt /tests/golden/lex-term-bad-11/tree/txt
998+/* src-326 %jibb /tests/golden/lex-term-bad-12/source/jibb
999+/* tok-326 %txt /tests/golden/lex-term-bad-12/tokens/txt
1000+/* tre-326 %txt /tests/golden/lex-term-bad-12/tree/txt
1001+/* src-327 %jibb /tests/golden/lex-term-bad-13/source/jibb
1002+/* tok-327 %txt /tests/golden/lex-term-bad-13/tokens/txt
1003+/* tre-327 %txt /tests/golden/lex-term-bad-13/tree/txt
1004+/* src-328 %jibb /tests/golden/lex-term-bad-14/source/jibb
1005+/* tok-328 %txt /tests/golden/lex-term-bad-14/tokens/txt
1006+/* tre-328 %txt /tests/golden/lex-term-bad-14/tree/txt
1007+/* src-329 %jibb /tests/golden/lex-term-bad-15/source/jibb
1008+/* tok-329 %txt /tests/golden/lex-term-bad-15/tokens/txt
1009+/* tre-329 %txt /tests/golden/lex-term-bad-15/tree/txt
1010+/* src-330 %jibb /tests/golden/lex-term-bad-2/source/jibb
1011+/* tok-330 %txt /tests/golden/lex-term-bad-2/tokens/txt
1012+/* tre-330 %txt /tests/golden/lex-term-bad-2/tree/txt
1013+/* src-331 %jibb /tests/golden/lex-term-bad-3/source/jibb
1014+/* tok-331 %txt /tests/golden/lex-term-bad-3/tokens/txt
1015+/* tre-331 %txt /tests/golden/lex-term-bad-3/tree/txt
1016+/* src-332 %jibb /tests/golden/lex-term-bad-4/source/jibb
1017+/* tok-332 %txt /tests/golden/lex-term-bad-4/tokens/txt
1018+/* tre-332 %txt /tests/golden/lex-term-bad-4/tree/txt
1019+/* src-333 %jibb /tests/golden/lex-term-bad-5/source/jibb
1020+/* tok-333 %txt /tests/golden/lex-term-bad-5/tokens/txt
1021+/* tre-333 %txt /tests/golden/lex-term-bad-5/tree/txt
1022+/* src-334 %jibb /tests/golden/lex-term-bad-6/source/jibb
1023+/* tok-334 %txt /tests/golden/lex-term-bad-6/tokens/txt
1024+/* tre-334 %txt /tests/golden/lex-term-bad-6/tree/txt
1025+/* src-335 %jibb /tests/golden/lex-term-bad-7/source/jibb
1026+/* tok-335 %txt /tests/golden/lex-term-bad-7/tokens/txt
1027+/* tre-335 %txt /tests/golden/lex-term-bad-7/tree/txt
1028+/* src-336 %jibb /tests/golden/lex-term-bad-8/source/jibb
1029+/* tok-336 %txt /tests/golden/lex-term-bad-8/tokens/txt
1030+/* tre-336 %txt /tests/golden/lex-term-bad-8/tree/txt
1031+/* src-337 %jibb /tests/golden/lex-term-bad-9/source/jibb
1032+/* tok-337 %txt /tests/golden/lex-term-bad-9/tokens/txt
1033+/* tre-337 %txt /tests/golden/lex-term-bad-9/tree/txt
1034+/* src-338 %jibb /tests/golden/lex-term-ok-1/source/jibb
1035+/* tok-338 %txt /tests/golden/lex-term-ok-1/tokens/txt
1036+/* tre-338 %txt /tests/golden/lex-term-ok-1/tree/txt
1037+/* src-339 %jibb /tests/golden/lex-tight-change-bad-1/source/jibb
1038+/* tok-339 %txt /tests/golden/lex-tight-change-bad-1/tokens/txt
1039+/* tre-339 %txt /tests/golden/lex-tight-change-bad-1/tree/txt
1040+/* src-340 %jibb /tests/golden/lex-tight-change-bad-2/source/jibb
1041+/* tok-340 %txt /tests/golden/lex-tight-change-bad-2/tokens/txt
1042+/* tre-340 %txt /tests/golden/lex-tight-change-bad-2/tree/txt
1043+/* src-341 %jibb /tests/golden/lex-tight-change-bad-3/source/jibb
1044+/* tok-341 %txt /tests/golden/lex-tight-change-bad-3/tokens/txt
1045+/* tre-341 %txt /tests/golden/lex-tight-change-bad-3/tree/txt
1046+/* src-342 %jibb /tests/golden/lex-tight-change-bad-4/source/jibb
1047+/* tok-342 %txt /tests/golden/lex-tight-change-bad-4/tokens/txt
1048+/* tre-342 %txt /tests/golden/lex-tight-change-bad-4/tree/txt
1049+/* src-343 %jibb /tests/golden/lex-tight-change-bad-5/source/jibb
1050+/* tok-343 %txt /tests/golden/lex-tight-change-bad-5/tokens/txt
1051+/* tre-343 %txt /tests/golden/lex-tight-change-bad-5/tree/txt
1052+/* src-344 %jibb /tests/golden/lex-tight-change-bad-6/source/jibb
1053+/* tok-344 %txt /tests/golden/lex-tight-change-bad-6/tokens/txt
1054+/* tre-344 %txt /tests/golden/lex-tight-change-bad-6/tree/txt
1055+/* src-345 %jibb /tests/golden/lex-tight-change-bad-7/source/jibb
1056+/* tok-345 %txt /tests/golden/lex-tight-change-bad-7/tokens/txt
1057+/* tre-345 %txt /tests/golden/lex-tight-change-bad-7/tree/txt
1058+/* src-346 %jibb /tests/golden/lex-tight-change-bad-8/source/jibb
1059+/* tok-346 %txt /tests/golden/lex-tight-change-bad-8/tokens/txt
1060+/* tre-346 %txt /tests/golden/lex-tight-change-bad-8/tree/txt
1061+/* src-347 %jibb /tests/golden/lex-tight-change-bad-9/source/jibb
1062+/* tok-347 %txt /tests/golden/lex-tight-change-bad-9/tokens/txt
1063+/* tre-347 %txt /tests/golden/lex-tight-change-bad-9/tree/txt
1064+/* src-348 %jibb /tests/golden/lex-tight-change-ok-1/source/jibb
1065+/* tok-348 %txt /tests/golden/lex-tight-change-ok-1/tokens/txt
1066+/* tre-348 %txt /tests/golden/lex-tight-change-ok-1/tree/txt
1067+/* src-349 %jibb /tests/golden/lex-tight-ctor-bad-1/source/jibb
1068+/* tok-349 %txt /tests/golden/lex-tight-ctor-bad-1/tokens/txt
1069+/* tre-349 %txt /tests/golden/lex-tight-ctor-bad-1/tree/txt
1070+/* src-350 %jibb /tests/golden/lex-tight-ctor-bad-2/source/jibb
1071+/* tok-350 %txt /tests/golden/lex-tight-ctor-bad-2/tokens/txt
1072+/* tre-350 %txt /tests/golden/lex-tight-ctor-bad-2/tree/txt
1073+/* src-351 %jibb /tests/golden/lex-tight-ctor-ok-1/source/jibb
1074+/* tok-351 %txt /tests/golden/lex-tight-ctor-ok-1/tokens/txt
1075+/* tre-351 %txt /tests/golden/lex-tight-ctor-ok-1/tree/txt
1076+/* src-352 %jibb /tests/golden/lex-tight-opener-bad-1/source/jibb
1077+/* tok-352 %txt /tests/golden/lex-tight-opener-bad-1/tokens/txt
1078+/* tre-352 %txt /tests/golden/lex-tight-opener-bad-1/tree/txt
1079+/* src-353 %jibb /tests/golden/lex-tight-opener-bad-2/source/jibb
1080+/* tok-353 %txt /tests/golden/lex-tight-opener-bad-2/tokens/txt
1081+/* tre-353 %txt /tests/golden/lex-tight-opener-bad-2/tree/txt
1082+/* src-354 %jibb /tests/golden/lex-tight-opener-bad-3/source/jibb
1083+/* tok-354 %txt /tests/golden/lex-tight-opener-bad-3/tokens/txt
1084+/* tre-354 %txt /tests/golden/lex-tight-opener-bad-3/tree/txt
1085+/* src-355 %jibb /tests/golden/lex-tight-opener-bad-4/source/jibb
1086+/* tok-355 %txt /tests/golden/lex-tight-opener-bad-4/tokens/txt
1087+/* tre-355 %txt /tests/golden/lex-tight-opener-bad-4/tree/txt
1088+/* src-356 %jibb /tests/golden/lex-tight-opener-ok-1/source/jibb
1089+/* tok-356 %txt /tests/golden/lex-tight-opener-ok-1/tokens/txt
1090+/* tre-356 %txt /tests/golden/lex-tight-opener-ok-1/tree/txt
1091+/* src-357 %jibb /tests/golden/lex-tight-pair-bad-1/source/jibb
1092+/* tok-357 %txt /tests/golden/lex-tight-pair-bad-1/tokens/txt
1093+/* tre-357 %txt /tests/golden/lex-tight-pair-bad-1/tree/txt
1094+/* src-358 %jibb /tests/golden/lex-tight-pair-bad-2/source/jibb
1095+/* tok-358 %txt /tests/golden/lex-tight-pair-bad-2/tokens/txt
1096+/* tre-358 %txt /tests/golden/lex-tight-pair-bad-2/tree/txt
1097+/* src-359 %jibb /tests/golden/lex-tight-pair-bad-3/source/jibb
1098+/* tok-359 %txt /tests/golden/lex-tight-pair-bad-3/tokens/txt
1099+/* tre-359 %txt /tests/golden/lex-tight-pair-bad-3/tree/txt
1100+/* src-360 %jibb /tests/golden/lex-tight-pair-ok-1/source/jibb
1101+/* tok-360 %txt /tests/golden/lex-tight-pair-ok-1/tokens/txt
1102+/* tre-360 %txt /tests/golden/lex-tight-pair-ok-1/tree/txt
1103+/* src-361 %jibb /tests/golden/lex-tight-qath-bad-1/source/jibb
1104+/* tok-361 %txt /tests/golden/lex-tight-qath-bad-1/tokens/txt
1105+/* tre-361 %txt /tests/golden/lex-tight-qath-bad-1/tree/txt
1106+/* src-362 %jibb /tests/golden/lex-tight-qath-bad-2/source/jibb
1107+/* tok-362 %txt /tests/golden/lex-tight-qath-bad-2/tokens/txt
1108+/* tre-362 %txt /tests/golden/lex-tight-qath-bad-2/tree/txt
1109+/* src-363 %jibb /tests/golden/lex-tight-qath-bad-3/source/jibb
1110+/* tok-363 %txt /tests/golden/lex-tight-qath-bad-3/tokens/txt
1111+/* tre-363 %txt /tests/golden/lex-tight-qath-bad-3/tree/txt
1112+/* src-364 %jibb /tests/golden/lex-tight-qath-ok-1/source/jibb
1113+/* tok-364 %txt /tests/golden/lex-tight-qath-ok-1/tokens/txt
1114+/* tre-364 %txt /tests/golden/lex-tight-qath-ok-1/tree/txt
1115+/* src-365 %jibb /tests/golden/lex-tight-unit-bad-1/source/jibb
1116+/* tok-365 %txt /tests/golden/lex-tight-unit-bad-1/tokens/txt
1117+/* tre-365 %txt /tests/golden/lex-tight-unit-bad-1/tree/txt
1118+/* src-366 %jibb /tests/golden/lex-tight-unit-ok-1/source/jibb
1119+/* tok-366 %txt /tests/golden/lex-tight-unit-ok-1/tokens/txt
1120+/* tre-366 %txt /tests/golden/lex-tight-unit-ok-1/tree/txt
1121+/* src-367 %jibb /tests/golden/lex-tight-wing-bad-1/source/jibb
1122+/* tok-367 %txt /tests/golden/lex-tight-wing-bad-1/tokens/txt
1123+/* tre-367 %txt /tests/golden/lex-tight-wing-bad-1/tree/txt
1124+/* src-368 %jibb /tests/golden/lex-tight-wing-ok-1/source/jibb
1125+/* tok-368 %txt /tests/golden/lex-tight-wing-ok-1/tokens/txt
1126+/* tre-368 %txt /tests/golden/lex-tight-wing-ok-1/tree/txt
10551127|%
10561128:: one arm per case
10571129::
@@ -1109,640 +1181,688 @@
11091181 (check ~.inline-duration src-26 `tok-26 `tre-26)
11101182++ test-inline-fold-mold
11111183 (check ~.inline-fold-mold src-27 `tok-27 `tre-27)
1184+++ test-inline-gate-after-definition-bad
1185+ (check ~.inline-gate-after-definition-bad src-28 `tok-28 `tre-28)
1186+++ test-inline-gate-field-bad
1187+ (check ~.inline-gate-field-bad src-29 `tok-29 `tre-29)
11121188++ test-inline-gate-mold
1113− (check ~.inline-gate-mold src-28 `tok-28 `tre-28)
1189+ (check ~.inline-gate-mold src-30 `tok-30 `tre-30)
11141190++ test-inline-gate-sample-binds
1115− (check ~.inline-gate-sample-binds src-29 `tok-29 `tre-29)
1191+ (check ~.inline-gate-sample-binds src-31 `tok-31 `tre-31)
11161192++ test-inline-gate-samples
1117− (check ~.inline-gate-samples src-30 `tok-30 `tre-30)
1193+ (check ~.inline-gate-samples src-32 `tok-32 `tre-32)
11181194++ test-inline-gate-wide
1119− (check ~.inline-gate-wide src-31 `tok-31 `tre-31)
1195+ (check ~.inline-gate-wide src-33 `tok-33 `tre-33)
1196+++ test-inline-generic-apply-bad
1197+ (check ~.inline-generic-apply-bad src-34 `tok-34 `tre-34)
1198+++ test-inline-generic-both-bad
1199+ (check ~.inline-generic-both-bad src-35 `tok-35 `tre-35)
1200+++ test-inline-generic-case-bad
1201+ (check ~.inline-generic-case-bad src-36 `tok-36 `tre-36)
1202+++ test-inline-generic-cast-bad
1203+ (check ~.inline-generic-cast-bad src-37 `tok-37 `tre-37)
1204+++ test-inline-generic-empty-bad
1205+ (check ~.inline-generic-empty-bad src-38 `tok-38 `tre-38)
1206+++ test-inline-generic-field-bad
1207+ (check ~.inline-generic-field-bad src-39 `tok-39 `tre-39)
11201208++ test-inline-generic-mold
1121− (check ~.inline-generic-mold src-32 `tok-32 `tre-32)
1209+ (check ~.inline-generic-mold src-40 `tok-40 `tre-40)
1210+++ test-inline-generic-prefix-bad
1211+ (check ~.inline-generic-prefix-bad src-41 `tok-41 `tre-41)
11221212++ test-inline-hex
1123− (check ~.inline-hex src-33 `tok-33 `tre-33)
1213+ (check ~.inline-hex src-42 `tok-42 `tre-42)
1214+++ test-inline-hoon-union-apply-bad
1215+ (check ~.inline-hoon-union-apply-bad src-43 `tok-43 `tre-43)
1216+++ test-inline-hoon-union-cast-bad
1217+ (check ~.inline-hoon-union-cast-bad src-44 `tok-44 `tre-44)
1218+++ test-inline-hoon-union-definition-bad
1219+ (check ~.inline-hoon-union-definition-bad src-45 `tok-45 `tre-45)
1220+++ test-inline-hoon-union-field-bad
1221+ (check ~.inline-hoon-union-field-bad src-46 `tok-46 `tre-46)
1222+++ test-inline-hoon-union-gate-bad
1223+ (check ~.inline-hoon-union-gate-bad src-47 `tok-47 `tre-47)
1224+++ test-inline-hoon-union-nested-sample-bad
1225+ (check ~.inline-hoon-union-nested-sample-bad src-48 `tok-48 `tre-48)
1226+++ test-inline-hoon-union-open-apply-bad
1227+ (check ~.inline-hoon-union-open-apply-bad src-49 `tok-49 `tre-49)
1228+++ test-inline-hoon-union-open-field-bad
1229+ (check ~.inline-hoon-union-open-field-bad src-50 `tok-50 `tre-50)
1230+++ test-inline-hoon-union-sample-bad
1231+ (check ~.inline-hoon-union-sample-bad src-51 `tok-51 `tre-51)
1232+++ test-inline-hoon-union-wide-sample-bad
1233+ (check ~.inline-hoon-union-wide-sample-bad src-52 `tok-52 `tre-52)
11241234++ test-inline-import-mark-face-bad
1125− (check ~.inline-import-mark-face-bad src-34 `tok-34 `tre-34)
1235+ (check ~.inline-import-mark-face-bad src-53 `tok-53 `tre-53)
11261236++ test-inline-import-root-bad
1127− (check ~.inline-import-root-bad src-35 `tok-35 `tre-35)
1237+ (check ~.inline-import-root-bad src-54 `tok-54 `tre-54)
11281238++ test-inline-imports-after-definition
1129− (check ~.inline-imports-after-definition src-36 `tok-36 `tre-36)
1239+ (check ~.inline-imports-after-definition src-55 `tok-55 `tre-55)
11301240++ test-inline-island
1131− (check ~.inline-island src-37 `tok-37 `tre-37)
1241+ (check ~.inline-island src-56 `tok-56 `tre-56)
11321242++ test-inline-kinds
1133− (check ~.inline-kinds src-38 `tok-38 `tre-38)
1243+ (check ~.inline-kinds src-57 `tok-57 `tre-57)
11341244++ test-inline-knot
1135− (check ~.inline-knot src-39 `tok-39 `tre-39)
1245+ (check ~.inline-knot src-58 `tok-58 `tre-58)
11361246++ test-inline-leftout-barcab
1137− (check ~.inline-leftout-barcab src-40 `tok-40 `tre-40)
1247+ (check ~.inline-leftout-barcab src-59 `tok-59 `tre-59)
11381248++ test-inline-leftout-barcen
1139− (check ~.inline-leftout-barcen src-41 `tok-41 `tre-41)
1249+ (check ~.inline-leftout-barcen src-60 `tok-60 `tre-60)
11401250++ test-inline-leftout-barcen-2
1141− (check ~.inline-leftout-barcen-2 src-42 `tok-42 `tre-42)
1251+ (check ~.inline-leftout-barcen-2 src-61 `tok-61 `tre-61)
11421252++ test-inline-leftout-barcen-3
1143− (check ~.inline-leftout-barcen-3 src-43 `tok-43 `tre-43)
1253+ (check ~.inline-leftout-barcen-3 src-62 `tok-62 `tre-62)
11441254++ test-inline-leftout-barhep
1145− (check ~.inline-leftout-barhep src-44 `tok-44 `tre-44)
1255+ (check ~.inline-leftout-barhep src-63 `tok-63 `tre-63)
11461256++ test-inline-leftout-bartar
1147− (check ~.inline-leftout-bartar src-45 `tok-45 `tre-45)
1257+ (check ~.inline-leftout-bartar src-64 `tok-64 `tre-64)
1258+++ test-inline-leftout-buc-alone
1259+ (check ~.inline-leftout-buc-alone src-65 `tok-65 `tre-65)
11481260++ test-inline-leftout-buc-paren
1149− (check ~.inline-leftout-buc-paren src-46 `tok-46 `tre-46)
1261+ (check ~.inline-leftout-buc-paren src-66 `tok-66 `tre-66)
11501262++ test-inline-leftout-buc-paren-2
1151− (check ~.inline-leftout-buc-paren-2 src-47 `tok-47 `tre-47)
1263+ (check ~.inline-leftout-buc-paren-2 src-67 `tok-67 `tre-67)
11521264++ test-inline-leftout-buc-paren-3
1153− (check ~.inline-leftout-buc-paren-3 src-48 `tok-48 `tre-48)
1265+ (check ~.inline-leftout-buc-paren-3 src-68 `tok-68 `tre-68)
11541266++ test-inline-leftout-buccen
1155− (check ~.inline-leftout-buccen src-49 `tok-49 `tre-49)
1267+ (check ~.inline-leftout-buccen src-69 `tok-69 `tre-69)
11561268++ test-inline-leftout-cencol
1157− (check ~.inline-leftout-cencol src-50 `tok-50 `tre-50)
1269+ (check ~.inline-leftout-cencol src-70 `tok-70 `tre-70)
11581270++ test-inline-leftout-cenhep
1159− (check ~.inline-leftout-cenhep src-51 `tok-51 `tre-51)
1271+ (check ~.inline-leftout-cenhep src-71 `tok-71 `tre-71)
11601272++ test-inline-leftout-centis
1161− (check ~.inline-leftout-centis src-52 `tok-52 `tre-52)
1273+ (check ~.inline-leftout-centis src-72 `tok-72 `tre-72)
11621274++ test-inline-leftout-colhep
1163− (check ~.inline-leftout-colhep src-53 `tok-53 `tre-53)
1275+ (check ~.inline-leftout-colhep src-73 `tok-73 `tre-73)
11641276++ test-inline-leftout-colon-wing
1165− (check ~.inline-leftout-colon-wing src-54 `tok-54 `tre-54)
1277+ (check ~.inline-leftout-colon-wing src-74 `tok-74 `tre-74)
11661278++ test-inline-leftout-colsig
1167− (check ~.inline-leftout-colsig src-55 `tok-55 `tre-55)
1279+ (check ~.inline-leftout-colsig src-75 `tok-75 `tre-75)
11681280++ test-inline-leftout-coltar
1169− (check ~.inline-leftout-coltar src-56 `tok-56 `tre-56)
1281+ (check ~.inline-leftout-coltar src-76 `tok-76 `tre-76)
11701282++ test-inline-leftout-dottar
1171− (check ~.inline-leftout-dottar src-57 `tok-57 `tre-57)
1283+ (check ~.inline-leftout-dottar src-77 `tok-77 `tre-77)
11721284++ test-inline-leftout-dottis
1173− (check ~.inline-leftout-dottis src-58 `tok-58 `tre-58)
1285+ (check ~.inline-leftout-dottis src-78 `tok-78 `tre-78)
11741286++ test-inline-leftout-faslus
1175− (check ~.inline-leftout-faslus src-59 `tok-59 `tre-59)
1287+ (check ~.inline-leftout-faslus src-79 `tok-79 `tre-79)
11761288++ test-inline-leftout-hephep
1177− (check ~.inline-leftout-hephep src-60 `tok-60 `tre-60)
1289+ (check ~.inline-leftout-hephep src-80 `tok-80 `tre-80)
11781290++ test-inline-leftout-kethep-wide
1179− (check ~.inline-leftout-kethep-wide src-61 `tok-61 `tre-61)
1291+ (check ~.inline-leftout-kethep-wide src-81 `tok-81 `tre-81)
11801292++ test-inline-leftout-kettar
1181− (check ~.inline-leftout-kettar src-62 `tok-62 `tre-62)
1293+ (check ~.inline-leftout-kettar src-82 `tok-82 `tre-82)
11821294++ test-inline-leftout-miccol
1183− (check ~.inline-leftout-miccol src-63 `tok-63 `tre-63)
1295+ (check ~.inline-leftout-miccol src-83 `tok-83 `tre-83)
11841296++ test-inline-leftout-sail
1185− (check ~.inline-leftout-sail src-64 `tok-64 `tre-64)
1297+ (check ~.inline-leftout-sail src-84 `tok-84 `tre-84)
11861298++ test-inline-leftout-sigbar
1187− (check ~.inline-leftout-sigbar src-65 `tok-65 `tre-65)
1299+ (check ~.inline-leftout-sigbar src-85 `tok-85 `tre-85)
11881300++ test-inline-leftout-signed-float-auras
1189− (check ~.inline-leftout-signed-float-auras src-66 `tok-66 `tre-66)
1301+ (check ~.inline-leftout-signed-float-auras src-86 `tok-86 `tre-86)
11901302++ test-inline-leftout-signed-float-auras-2
1191− (check ~.inline-leftout-signed-float-auras-2 src-67 `tok-67 `tre-67)
1303+ (check ~.inline-leftout-signed-float-auras-2 src-87 `tok-87 `tre-87)
11921304++ test-inline-leftout-sigpam-wide
1193− (check ~.inline-leftout-sigpam-wide src-68 `tok-68 `tre-68)
1305+ (check ~.inline-leftout-sigpam-wide src-88 `tok-88 `tre-88)
11941306++ test-inline-leftout-tis-paren
1195− (check ~.inline-leftout-tis-paren src-69 `tok-69 `tre-69)
1307+ (check ~.inline-leftout-tis-paren src-89 `tok-89 `tre-89)
11961308++ test-inline-leftout-tisfas
1197− (check ~.inline-leftout-tisfas src-70 `tok-70 `tre-70)
1309+ (check ~.inline-leftout-tisfas src-90 `tok-90 `tre-90)
11981310++ test-inline-leftout-tisgal
1199− (check ~.inline-leftout-tisgal src-71 `tok-71 `tre-71)
1311+ (check ~.inline-leftout-tisgal src-91 `tok-91 `tre-91)
12001312++ test-inline-leftout-tisgal-2
1201− (check ~.inline-leftout-tisgal-2 src-72 `tok-72 `tre-72)
1313+ (check ~.inline-leftout-tisgal-2 src-92 `tok-92 `tre-92)
12021314++ test-inline-leftout-tisgar
1203− (check ~.inline-leftout-tisgar src-73 `tok-73 `tre-73)
1315+ (check ~.inline-leftout-tisgar src-93 `tok-93 `tre-93)
12041316++ test-inline-leftout-tislus
1205− (check ~.inline-leftout-tislus src-74 `tok-74 `tre-74)
1317+ (check ~.inline-leftout-tislus src-94 `tok-94 `tre-94)
12061318++ test-inline-leftout-tistis
1207− (check ~.inline-leftout-tistis src-75 `tok-75 `tre-75)
1319+ (check ~.inline-leftout-tistis src-95 `tok-95 `tre-95)
12081320++ test-inline-leftout-wutcol
1209− (check ~.inline-leftout-wutcol src-76 `tok-76 `tre-76)
1321+ (check ~.inline-leftout-wutcol src-96 `tok-96 `tre-96)
12101322++ test-inline-leftout-wutcol-2
1211− (check ~.inline-leftout-wutcol-2 src-77 `tok-77 `tre-77)
1323+ (check ~.inline-leftout-wutcol-2 src-97 `tok-97 `tre-97)
12121324++ test-inline-leftout-wuthep-wide
1213− (check ~.inline-leftout-wuthep-wide src-78 `tok-78 `tre-78)
1325+ (check ~.inline-leftout-wuthep-wide src-98 `tok-98 `tre-98)
12141326++ test-inline-leftout-wutlus
1215− (check ~.inline-leftout-wutlus src-79 `tok-79 `tre-79)
1327+ (check ~.inline-leftout-wutlus src-99 `tok-99 `tre-99)
12161328++ test-inline-leftout-wutsig
1217− (check ~.inline-leftout-wutsig src-80 `tok-80 `tre-80)
1329+ (check ~.inline-leftout-wutsig src-100 `tok-100 `tre-100)
12181330++ test-inline-leftout-wutzap
1219− (check ~.inline-leftout-wutzap src-81 `tok-81 `tre-81)
1331+ (check ~.inline-leftout-wutzap src-101 `tok-101 `tre-101)
12201332++ test-inline-leftout-zap-not
1221− (check ~.inline-leftout-zap-not src-82 `tok-82 `tre-82)
1333+ (check ~.inline-leftout-zap-not src-102 `tok-102 `tre-102)
12221334++ test-inline-leftout-zap-not-2
1223− (check ~.inline-leftout-zap-not-2 src-83 `tok-83 `tre-83)
1335+ (check ~.inline-leftout-zap-not-2 src-103 `tok-103 `tre-103)
12241336++ test-inline-leftout-zapgar
1225− (check ~.inline-leftout-zapgar src-84 `tok-84 `tre-84)
1337+ (check ~.inline-leftout-zapgar src-104 `tok-104 `tre-104)
12261338++ test-inline-list
1227− (check ~.inline-list src-85 `tok-85 `tre-85)
1339+ (check ~.inline-list src-105 `tok-105 `tre-105)
12281340++ test-inline-list-parens
1229− (check ~.inline-list-parens src-86 `tok-86 `tre-86)
1341+ (check ~.inline-list-parens src-106 `tok-106 `tre-106)
12301342++ test-inline-literal-defaults
1231− (check ~.inline-literal-defaults src-87 `tok-87 `tre-87)
1343+ (check ~.inline-literal-defaults src-107 `tok-107 `tre-107)
12321344++ test-inline-load-slug
1233− (check ~.inline-load-slug src-88 `tok-88 `tre-88)
1345+ (check ~.inline-load-slug src-108 `tok-108 `tre-108)
12341346++ test-inline-local-names
1235− (check ~.inline-local-names src-89 `tok-89 `tre-89)
1347+ (check ~.inline-local-names src-109 `tok-109 `tre-109)
12361348++ test-inline-local-names-bodies
1237− (check ~.inline-local-names-bodies src-90 `tok-90 `tre-90)
1349+ (check ~.inline-local-names-bodies src-110 `tok-110 `tre-110)
12381350++ test-inline-loobean
1239− (check ~.inline-loobean src-91 `tok-91 `tre-91)
1351+ (check ~.inline-loobean src-111 `tok-111 `tre-111)
12401352++ test-inline-mark-digit
1241− (check ~.inline-mark-digit src-92 `tok-92 `tre-92)
1353+ (check ~.inline-mark-digit src-112 `tok-112 `tre-112)
12421354++ test-inline-module-definitions
1243− (check ~.inline-module-definitions src-93 `tok-93 `tre-93)
1355+ (check ~.inline-module-definitions src-113 `tok-113 `tre-113)
12441356++ test-inline-mold-add
1245− (check ~.inline-mold-add src-94 `tok-94 `tre-94)
1357+ (check ~.inline-mold-add src-114 `tok-114 `tre-114)
12461358++ test-inline-mold-any-empty
1247− (check ~.inline-mold-any-empty src-95 `tok-95 `tre-95)
1359+ (check ~.inline-mold-any-empty src-115 `tok-115 `tre-115)
12481360++ test-inline-mold-atoms
1249− (check ~.inline-mold-atoms src-96 `tok-96 `tre-96)
1361+ (check ~.inline-mold-atoms src-116 `tok-116 `tre-116)
12501362++ test-inline-mold-constants
1251− (check ~.inline-mold-constants src-97 `tok-97 `tre-97)
1363+ (check ~.inline-mold-constants src-117 `tok-117 `tre-117)
12521364++ test-inline-mold-containers
1253− (check ~.inline-mold-containers src-98 `tok-98 `tre-98)
1365+ (check ~.inline-mold-containers src-118 `tok-118 `tre-118)
12541366++ test-inline-mold-gate
1255− (check ~.inline-mold-gate src-99 `tok-99 `tre-99)
1367+ (check ~.inline-mold-gate src-119 `tok-119 `tre-119)
12561368++ test-inline-mold-generic
1257− (check ~.inline-mold-generic src-100 `tok-100 `tre-100)
1369+ (check ~.inline-mold-generic src-120 `tok-120 `tre-120)
12581370++ test-inline-mold-opaque
1259− (check ~.inline-mold-opaque src-101 `tok-101 `tre-101)
1371+ (check ~.inline-mold-opaque src-121 `tok-121 `tre-121)
12601372++ test-inline-mold-paths
1261− (check ~.inline-mold-paths src-102 `tok-102 `tre-102)
1373+ (check ~.inline-mold-paths src-122 `tok-122 `tre-122)
12621374++ test-inline-mold-records
1263− (check ~.inline-mold-records src-103 `tok-103 `tre-103)
1375+ (check ~.inline-mold-records src-123 `tok-123 `tre-123)
12641376++ test-inline-namespaces
1265− (check ~.inline-namespaces src-104 `tok-104 `tre-104)
1377+ (check ~.inline-namespaces src-124 `tok-124 `tre-124)
12661378++ test-inline-no-operators
1267− (check ~.inline-no-operators src-105 `tok-105 `tre-105)
1379+ (check ~.inline-no-operators src-125 `tok-125 `tre-125)
12681380++ test-inline-no-subs
1269− (check ~.inline-no-subs src-106 `tok-106 `tre-106)
1381+ (check ~.inline-no-subs src-126 `tok-126 `tre-126)
12701382++ test-inline-null
1271− (check ~.inline-null src-107 `tok-107 `tre-107)
1383+ (check ~.inline-null src-127 `tok-127 `tre-127)
12721384++ test-inline-pair
1273− (check ~.inline-pair src-108 `tok-108 `tre-108)
1385+ (check ~.inline-pair src-128 `tok-128 `tre-128)
12741386++ test-inline-pairs-two-items
1275− (check ~.inline-pairs-two-items src-109 `tok-109 `tre-109)
1387+ (check ~.inline-pairs-two-items src-129 `tok-129 `tre-129)
12761388++ test-inline-path
1277− (check ~.inline-path src-110 `tok-110 `tre-110)
1389+ (check ~.inline-path src-130 `tok-130 `tre-130)
12781390++ test-inline-pattern-any
1279− (check ~.inline-pattern-any src-111 `tok-111 `tre-111)
1391+ (check ~.inline-pattern-any src-131 `tok-131 `tre-131)
12801392++ test-inline-pattern-cell
1281− (check ~.inline-pattern-cell src-112 `tok-112 `tre-112)
1393+ (check ~.inline-pattern-cell src-132 `tok-132 `tre-132)
12821394++ test-inline-pattern-cell-open-bad
1283− (check ~.inline-pattern-cell-open-bad src-113 `tok-113 `tre-113)
1395+ (check ~.inline-pattern-cell-open-bad src-133 `tok-133 `tre-133)
12841396++ test-inline-pattern-crash-arm
1285− (check ~.inline-pattern-crash-arm src-114 `tok-114 `tre-114)
1397+ (check ~.inline-pattern-crash-arm src-134 `tok-134 `tre-134)
12861398++ test-inline-pattern-crash-bad
1287− (check ~.inline-pattern-crash-bad src-115 `tok-115 `tre-115)
1399+ (check ~.inline-pattern-crash-bad src-135 `tok-135 `tre-135)
12881400++ test-inline-pattern-date-bad
1289− (check ~.inline-pattern-date-bad src-116 `tok-116 `tre-116)
1401+ (check ~.inline-pattern-date-bad src-136 `tok-136 `tre-136)
12901402++ test-inline-pattern-duration-bad
1291− (check ~.inline-pattern-duration-bad src-117 `tok-117 `tre-117)
1403+ (check ~.inline-pattern-duration-bad src-137 `tok-137 `tre-137)
12921404++ test-inline-pattern-eq
1293− (check ~.inline-pattern-eq src-118 `tok-118 `tre-118)
1405+ (check ~.inline-pattern-eq src-138 `tok-138 `tre-138)
12941406++ test-inline-pattern-face-bad
1295− (check ~.inline-pattern-face-bad src-119 `tok-119 `tre-119)
1407+ (check ~.inline-pattern-face-bad src-139 `tok-139 `tre-139)
12961408++ test-inline-pattern-head-tag
1297− (check ~.inline-pattern-head-tag src-120 `tok-120 `tre-120)
1409+ (check ~.inline-pattern-head-tag src-140 `tok-140 `tre-140)
12981410++ test-inline-pattern-interpolated-bad
1299− (check ~.inline-pattern-interpolated-bad src-121 `tok-121 `tre-121)
1411+ (check ~.inline-pattern-interpolated-bad src-141 `tok-141 `tre-141)
13001412++ test-inline-pattern-list-bad
1301− (check ~.inline-pattern-list-bad src-122 `tok-122 `tre-122)
1413+ (check ~.inline-pattern-list-bad src-142 `tok-142 `tre-142)
13021414++ test-inline-pattern-literals
1303− (check ~.inline-pattern-literals src-123 `tok-123 `tre-123)
1415+ (check ~.inline-pattern-literals src-143 `tok-143 `tre-143)
13041416++ test-inline-pattern-loobean
1305− (check ~.inline-pattern-loobean src-124 `tok-124 `tre-124)
1417+ (check ~.inline-pattern-loobean src-144 `tok-144 `tre-144)
13061418++ test-inline-pattern-move-any
1307− (check ~.inline-pattern-move-any src-125 `tok-125 `tre-125)
1419+ (check ~.inline-pattern-move-any src-145 `tok-145 `tre-145)
13081420++ test-inline-pattern-name
1309− (check ~.inline-pattern-name src-126 `tok-126 `tre-126)
1421+ (check ~.inline-pattern-name src-146 `tok-146 `tre-146)
13101422++ test-inline-pattern-null
1311− (check ~.inline-pattern-null src-127 `tok-127 `tre-127)
1423+ (check ~.inline-pattern-null src-147 `tok-147 `tre-147)
13121424++ test-inline-pattern-pair-bad
1313− (check ~.inline-pattern-pair-bad src-128 `tok-128 `tre-128)
1425+ (check ~.inline-pattern-pair-bad src-148 `tok-148 `tre-148)
13141426++ test-inline-pattern-tail-tag
1315− (check ~.inline-pattern-tail-tag src-129 `tok-129 `tre-129)
1427+ (check ~.inline-pattern-tail-tag src-149 `tok-149 `tre-149)
13161428++ test-inline-pattern-term
1317− (check ~.inline-pattern-term src-130 `tok-130 `tre-130)
1429+ (check ~.inline-pattern-term src-150 `tok-150 `tre-150)
13181430++ test-inline-pattern-two-tags
1319− (check ~.inline-pattern-two-tags src-131 `tok-131 `tre-131)
1431+ (check ~.inline-pattern-two-tags src-151 `tok-151 `tre-151)
13201432++ test-inline-pattern-unit
1321− (check ~.inline-pattern-unit src-132 `tok-132 `tre-132)
1433+ (check ~.inline-pattern-unit src-152 `tok-152 `tre-152)
13221434++ test-inline-qath
1323− (check ~.inline-qath src-133 `tok-133 `tre-133)
1435+ (check ~.inline-qath src-153 `tok-153 `tre-153)
13241436++ test-inline-requests
1325− (check ~.inline-requests src-134 `tok-134 `tre-134)
1437+ (check ~.inline-requests src-154 `tok-154 `tre-154)
13261438++ test-inline-scry-case
1327− (check ~.inline-scry-case src-135 `tok-135 `tre-135)
1439+ (check ~.inline-scry-case src-155 `tok-155 `tre-155)
13281440++ test-inline-self-reference
1329− (check ~.inline-self-reference src-136 `tok-136 `tre-136)
1441+ (check ~.inline-self-reference src-156 `tok-156 `tre-156)
13301442++ test-inline-ship
1331− (check ~.inline-ship src-137 `tok-137 `tre-137)
1443+ (check ~.inline-ship src-157 `tok-157 `tre-157)
13321444++ test-inline-static-image
1333− (check ~.inline-static-image src-138 `tok-138 `tre-138)
1445+ (check ~.inline-static-image src-158 `tok-158 `tre-158)
13341446++ test-inline-string
1335− (check ~.inline-string src-139 `tok-139 `tre-139)
1447+ (check ~.inline-string src-159 `tok-159 `tre-159)
13361448++ test-inline-tag-shape
1337− (check ~.inline-tag-shape src-140 `tok-140 `tre-140)
1449+ (check ~.inline-tag-shape src-160 `tok-160 `tre-160)
13381450++ test-inline-term
1339− (check ~.inline-term src-141 `tok-141 `tre-141)
1451+ (check ~.inline-term src-161 `tok-161 `tre-161)
13401452++ test-inline-term-numeric
1341− (check ~.inline-term-numeric src-142 `tok-142 `tre-142)
1453+ (check ~.inline-term-numeric src-162 `tok-162 `tre-162)
13421454++ test-inline-text-items
1343− (check ~.inline-text-items src-143 `tok-143 `tre-143)
1455+ (check ~.inline-text-items src-163 `tok-163 `tre-163)
1456+++ test-inline-union-both-bad
1457+ (check ~.inline-union-both-bad src-164 `tok-164 `tre-164)
1458+++ test-inline-union-local
1459+ (check ~.inline-union-local src-165 `tok-165 `tre-165)
1460+++ test-inline-union-one-case
1461+ (check ~.inline-union-one-case src-166 `tok-166 `tre-166)
1462+++ test-inline-union-record-bad
1463+ (check ~.inline-union-record-bad src-167 `tok-167 `tre-167)
13441464++ test-inline-union-wide
1345− (check ~.inline-union-wide src-144 `tok-144 `tre-144)
1465+ (check ~.inline-union-wide src-168 `tok-168 `tre-168)
13461466++ test-inline-unit
1347− (check ~.inline-unit src-145 `tok-145 `tre-145)
1467+ (check ~.inline-unit src-169 `tok-169 `tre-169)
13481468++ test-inline-wide-form-rune-bad
1349− (check ~.inline-wide-form-rune-bad src-146 `tok-146 `tre-146)
1469+ (check ~.inline-wide-form-rune-bad src-170 `tok-170 `tre-170)
13501470++ test-inline-wide-forms
1351− (check ~.inline-wide-forms src-147 `tok-147 `tre-147)
1471+ (check ~.inline-wide-forms src-171 `tok-171 `tre-171)
13521472++ test-inline-wide-union-call
1353− (check ~.inline-wide-union-call src-148 `tok-148 `tre-148)
1473+ (check ~.inline-wide-union-call src-172 `tok-172 `tre-172)
13541474++ test-inline-wings
1355− (check ~.inline-wings src-149 `tok-149 `tre-149)
1475+ (check ~.inline-wings src-173 `tok-173 `tre-173)
13561476++ test-lex-base32-bad-1
1357− (check ~.lex-base32-bad-1 src-150 `tok-150 `tre-150)
1477+ (check ~.lex-base32-bad-1 src-174 `tok-174 `tre-174)
13581478++ test-lex-base32-ok-1
1359− (check ~.lex-base32-ok-1 src-151 `tok-151 `tre-151)
1479+ (check ~.lex-base32-ok-1 src-175 `tok-175 `tre-175)
13601480++ test-lex-blob-bad-1
1361− (check ~.lex-blob-bad-1 src-152 `tok-152 `tre-152)
1481+ (check ~.lex-blob-bad-1 src-176 `tok-176 `tre-176)
13621482++ test-lex-call-open-bad-1
1363− (check ~.lex-call-open-bad-1 src-153 `tok-153 `tre-153)
1483+ (check ~.lex-call-open-bad-1 src-177 `tok-177 `tre-177)
13641484++ test-lex-call-open-bad-2
1365− (check ~.lex-call-open-bad-2 src-154 `tok-154 `tre-154)
1485+ (check ~.lex-call-open-bad-2 src-178 `tok-178 `tre-178)
13661486++ test-lex-call-open-bad-4
1367− (check ~.lex-call-open-bad-4 src-155 `tok-155 `tre-155)
1487+ (check ~.lex-call-open-bad-4 src-179 `tok-179 `tre-179)
13681488++ test-lex-call-open-ok-1
1369− (check ~.lex-call-open-ok-1 src-156 `tok-156 `tre-156)
1489+ (check ~.lex-call-open-ok-1 src-180 `tok-180 `tre-180)
13701490++ test-lex-call-open-ok-2
1371− (check ~.lex-call-open-ok-2 src-157 `tok-157 `tre-157)
1491+ (check ~.lex-call-open-ok-2 src-181 `tok-181 `tre-181)
13721492++ test-lex-cell-bad-1
1373− (check ~.lex-cell-bad-1 src-158 `tok-158 `tre-158)
1493+ (check ~.lex-cell-bad-1 src-182 `tok-182 `tre-182)
13741494++ test-lex-cell-ok-1
1375− (check ~.lex-cell-ok-1 src-159 `tok-159 `tre-159)
1495+ (check ~.lex-cell-ok-1 src-183 `tok-183 `tre-183)
13761496++ test-lex-closer-bad-1
1377− (check ~.lex-closer-bad-1 src-160 `tok-160 `tre-160)
1497+ (check ~.lex-closer-bad-1 src-184 `tok-184 `tre-184)
13781498++ test-lex-closer-bad-2
1379− (check ~.lex-closer-bad-2 src-161 `tok-161 `tre-161)
1499+ (check ~.lex-closer-bad-2 src-185 `tok-185 `tre-185)
13801500++ test-lex-closer-bad-3
1381− (check ~.lex-closer-bad-3 src-162 `tok-162 `tre-162)
1501+ (check ~.lex-closer-bad-3 src-186 `tok-186 `tre-186)
13821502++ test-lex-closer-bad-4
1383− (check ~.lex-closer-bad-4 src-163 `tok-163 `tre-163)
1503+ (check ~.lex-closer-bad-4 src-187 `tok-187 `tre-187)
13841504++ test-lex-codepoint-bad-1
1385− (check ~.lex-codepoint-bad-1 src-164 `tok-164 `tre-164)
1505+ (check ~.lex-codepoint-bad-1 src-188 `tok-188 `tre-188)
13861506++ test-lex-comment-bad-1
1387− (check ~.lex-comment-bad-1 src-165 `tok-165 `tre-165)
1507+ (check ~.lex-comment-bad-1 src-189 `tok-189 `tre-189)
13881508++ test-lex-comment-ok-1
1389− (check ~.lex-comment-ok-1 src-166 `tok-166 `tre-166)
1509+ (check ~.lex-comment-ok-1 src-190 `tok-190 `tre-190)
13901510++ test-lex-comment-ok-2
1391− (check ~.lex-comment-ok-2 src-167 `tok-167 `tre-167)
1511+ (check ~.lex-comment-ok-2 src-191 `tok-191 `tre-191)
13921512++ test-lex-comment-ok-3
1393− (check ~.lex-comment-ok-3 src-168 `tok-168 `tre-168)
1513+ (check ~.lex-comment-ok-3 src-192 `tok-192 `tre-192)
13941514++ test-lex-date-bad-1
1395− (check ~.lex-date-bad-1 src-169 `tok-169 `tre-169)
1515+ (check ~.lex-date-bad-1 src-193 `tok-193 `tre-193)
13961516++ test-lex-date-bad-2
1397− (check ~.lex-date-bad-2 src-170 `tok-170 `tre-170)
1517+ (check ~.lex-date-bad-2 src-194 `tok-194 `tre-194)
13981518++ test-lex-date-bad-3
1399− (check ~.lex-date-bad-3 src-171 `tok-171 `tre-171)
1519+ (check ~.lex-date-bad-3 src-195 `tok-195 `tre-195)
14001520++ test-lex-date-ok-1
1401− (check ~.lex-date-ok-1 src-172 `tok-172 `tre-172)
1521+ (check ~.lex-date-ok-1 src-196 `tok-196 `tre-196)
14021522++ test-lex-date-ok-2
1403− (check ~.lex-date-ok-2 src-173 `tok-173 `tre-173)
1523+ (check ~.lex-date-ok-2 src-197 `tok-197 `tre-197)
14041524++ test-lex-decimal-bad-1
1405− (check ~.lex-decimal-bad-1 src-174 `tok-174 `tre-174)
1525+ (check ~.lex-decimal-bad-1 src-198 `tok-198 `tre-198)
14061526++ test-lex-decimal-bad-2
1407− (check ~.lex-decimal-bad-2 src-175 `tok-175 `tre-175)
1527+ (check ~.lex-decimal-bad-2 src-199 `tok-199 `tre-199)
14081528++ test-lex-decimal-ok-1
1409− (check ~.lex-decimal-ok-1 src-176 `tok-176 `tre-176)
1529+ (check ~.lex-decimal-ok-1 src-200 `tok-200 `tre-200)
14101530++ test-lex-duration-bad-1
1411− (check ~.lex-duration-bad-1 src-177 `tok-177 `tre-177)
1531+ (check ~.lex-duration-bad-1 src-201 `tok-201 `tre-201)
14121532++ test-lex-duration-bad-2
1413− (check ~.lex-duration-bad-2 src-178 `tok-178 `tre-178)
1533+ (check ~.lex-duration-bad-2 src-202 `tok-202 `tre-202)
14141534++ test-lex-duration-ok-1
1415− (check ~.lex-duration-ok-1 src-179 `tok-179 `tre-179)
1535+ (check ~.lex-duration-ok-1 src-203 `tok-203 `tre-203)
14161536++ test-lex-hex-bad-1
1417− (check ~.lex-hex-bad-1 src-180 `tok-180 `tre-180)
1537+ (check ~.lex-hex-bad-1 src-204 `tok-204 `tre-204)
14181538++ test-lex-hex-ok-1
1419− (check ~.lex-hex-ok-1 src-181 `tok-181 `tre-181)
1539+ (check ~.lex-hex-ok-1 src-205 `tok-205 `tre-205)
14201540++ test-lex-indent-bad-1
1421− (check ~.lex-indent-bad-1 src-182 `tok-182 `tre-182)
1541+ (check ~.lex-indent-bad-1 src-206 `tok-206 `tre-206)
14221542++ test-lex-indent-bad-2
1423− (check ~.lex-indent-bad-2 src-183 `tok-183 `tre-183)
1543+ (check ~.lex-indent-bad-2 src-207 `tok-207 `tre-207)
14241544++ test-lex-indent-bad-3
1425− (check ~.lex-indent-bad-3 src-184 `tok-184 `tre-184)
1545+ (check ~.lex-indent-bad-3 src-208 `tok-208 `tre-208)
14261546++ test-lex-indent-ok-1
1427− (check ~.lex-indent-ok-1 src-185 `tok-185 `tre-185)
1547+ (check ~.lex-indent-ok-1 src-209 `tok-209 `tre-209)
14281548++ test-lex-indent-ok-2
1429− (check ~.lex-indent-ok-2 src-186 `tok-186 `tre-186)
1549+ (check ~.lex-indent-ok-2 src-210 `tok-210 `tre-210)
14301550++ test-lex-indent-ok-3
1431− (check ~.lex-indent-ok-3 src-187 `tok-187 `tre-187)
1551+ (check ~.lex-indent-ok-3 src-211 `tok-211 `tre-211)
14321552++ test-lex-interp-bad-1
1433− (check ~.lex-interp-bad-1 src-188 `tok-188 `tre-188)
1553+ (check ~.lex-interp-bad-1 src-212 `tok-212 `tre-212)
14341554++ test-lex-interp-bad-2
1435− (check ~.lex-interp-bad-2 src-189 `tok-189 `tre-189)
1555+ (check ~.lex-interp-bad-2 src-213 `tok-213 `tre-213)
14361556++ test-lex-interp-bad-3
1437− (check ~.lex-interp-bad-3 src-190 `tok-190 `tre-190)
1557+ (check ~.lex-interp-bad-3 src-214 `tok-214 `tre-214)
14381558++ test-lex-interp-bad-5
1439− (check ~.lex-interp-bad-5 src-191 `tok-191 `tre-191)
1559+ (check ~.lex-interp-bad-5 src-215 `tok-215 `tre-215)
14401560++ test-lex-interp-bad-6
1441− (check ~.lex-interp-bad-6 src-192 `tok-192 `tre-192)
1561+ (check ~.lex-interp-bad-6 src-216 `tok-216 `tre-216)
14421562++ test-lex-interp-ok-1
1443− (check ~.lex-interp-ok-1 src-193 `tok-193 `tre-193)
1563+ (check ~.lex-interp-ok-1 src-217 `tok-217 `tre-217)
14441564++ test-lex-interp-ok-2
1445− (check ~.lex-interp-ok-2 src-194 `tok-194 `tre-194)
1565+ (check ~.lex-interp-ok-2 src-218 `tok-218 `tre-218)
14461566++ test-lex-interp-ok-3
1447− (check ~.lex-interp-ok-3 src-195 `tok-195 `tre-195)
1567+ (check ~.lex-interp-ok-3 src-219 `tok-219 `tre-219)
14481568++ test-lex-knot-bad-1
1449− (check ~.lex-knot-bad-1 src-196 `tok-196 `tre-196)
1569+ (check ~.lex-knot-bad-1 src-220 `tok-220 `tre-220)
14501570++ test-lex-knot-ok-1
1451− (check ~.lex-knot-ok-1 src-197 `tok-197 `tre-197)
1571+ (check ~.lex-knot-ok-1 src-221 `tok-221 `tre-221)
14521572++ test-lex-layout-bad-1
1453− (check ~.lex-layout-bad-1 src-198 `tok-198 `tre-198)
1573+ (check ~.lex-layout-bad-1 src-222 `tok-222 `tre-222)
14541574++ test-lex-layout-bad-10
1455− (check ~.lex-layout-bad-10 src-199 `tok-199 `tre-199)
1575+ (check ~.lex-layout-bad-10 src-223 `tok-223 `tre-223)
14561576++ test-lex-layout-bad-2
1457− (check ~.lex-layout-bad-2 src-200 `tok-200 `tre-200)
1577+ (check ~.lex-layout-bad-2 src-224 `tok-224 `tre-224)
14581578++ test-lex-layout-bad-3
1459− (check ~.lex-layout-bad-3 src-201 `tok-201 `tre-201)
1579+ (check ~.lex-layout-bad-3 src-225 `tok-225 `tre-225)
14601580++ test-lex-layout-bad-4
1461− (check ~.lex-layout-bad-4 src-202 `tok-202 `tre-202)
1581+ (check ~.lex-layout-bad-4 src-226 `tok-226 `tre-226)
14621582++ test-lex-layout-bad-5
1463− (check ~.lex-layout-bad-5 src-203 `tok-203 `tre-203)
1583+ (check ~.lex-layout-bad-5 src-227 `tok-227 `tre-227)
14641584++ test-lex-layout-bad-6
1465− (check ~.lex-layout-bad-6 src-204 `tok-204 `tre-204)
1585+ (check ~.lex-layout-bad-6 src-228 `tok-228 `tre-228)
14661586++ test-lex-layout-bad-7
1467− (check ~.lex-layout-bad-7 src-205 `tok-205 `tre-205)
1587+ (check ~.lex-layout-bad-7 src-229 `tok-229 `tre-229)
14681588++ test-lex-layout-bad-8
1469− (check ~.lex-layout-bad-8 src-206 `tok-206 `tre-206)
1589+ (check ~.lex-layout-bad-8 src-230 `tok-230 `tre-230)
14701590++ test-lex-layout-bad-9
1471− (check ~.lex-layout-bad-9 src-207 `tok-207 `tre-207)
1591+ (check ~.lex-layout-bad-9 src-231 `tok-231 `tre-231)
14721592++ test-lex-layout-ok-1
1473− (check ~.lex-layout-ok-1 src-208 `tok-208 `tre-208)
1593+ (check ~.lex-layout-ok-1 src-232 `tok-232 `tre-232)
14741594++ test-lex-list-bad-1
1475− (check ~.lex-list-bad-1 src-209 `tok-209 `tre-209)
1595+ (check ~.lex-list-bad-1 src-233 `tok-233 `tre-233)
14761596++ test-lex-list-ok-1
1477− (check ~.lex-list-ok-1 src-210 `tok-210 `tre-210)
1597+ (check ~.lex-list-ok-1 src-234 `tok-234 `tre-234)
14781598++ test-lex-loobean-bad-1
1479− (check ~.lex-loobean-bad-1 src-211 `tok-211 `tre-211)
1599+ (check ~.lex-loobean-bad-1 src-235 `tok-235 `tre-235)
14801600++ test-lex-loobean-ok-1
1481− (check ~.lex-loobean-ok-1 src-212 `tok-212 `tre-212)
1601+ (check ~.lex-loobean-ok-1 src-236 `tok-236 `tre-236)
14821602++ test-lex-name-bad-1
1483− (check ~.lex-name-bad-1 src-213 `tok-213 `tre-213)
1603+ (check ~.lex-name-bad-1 src-237 `tok-237 `tre-237)
14841604++ test-lex-name-bad-2
1485− (check ~.lex-name-bad-2 src-214 `tok-214 `tre-214)
1605+ (check ~.lex-name-bad-2 src-238 `tok-238 `tre-238)
14861606++ test-lex-name-bad-3
1487− (check ~.lex-name-bad-3 src-215 `tok-215 `tre-215)
1607+ (check ~.lex-name-bad-3 src-239 `tok-239 `tre-239)
14881608++ test-lex-name-bad-4
1489− (check ~.lex-name-bad-4 src-216 `tok-216 `tre-216)
1609+ (check ~.lex-name-bad-4 src-240 `tok-240 `tre-240)
14901610++ test-lex-name-bad-5
1491− (check ~.lex-name-bad-5 src-217 `tok-217 `tre-217)
1611+ (check ~.lex-name-bad-5 src-241 `tok-241 `tre-241)
14921612++ test-lex-name-bad-6
1493− (check ~.lex-name-bad-6 src-218 `tok-218 `tre-218)
1613+ (check ~.lex-name-bad-6 src-242 `tok-242 `tre-242)
14941614++ test-lex-name-ok-1
1495− (check ~.lex-name-ok-1 src-219 `tok-219 `tre-219)
1615+ (check ~.lex-name-ok-1 src-243 `tok-243 `tre-243)
14961616++ test-lex-null-bad-1
1497− (check ~.lex-null-bad-1 src-220 `tok-220 `tre-220)
1617+ (check ~.lex-null-bad-1 src-244 `tok-244 `tre-244)
14981618++ test-lex-null-bad-2
1499− (check ~.lex-null-bad-2 src-221 `tok-221 `tre-221)
1619+ (check ~.lex-null-bad-2 src-245 `tok-245 `tre-245)
15001620++ test-lex-null-ok-1
1501− (check ~.lex-null-ok-1 src-222 `tok-222 `tre-222)
1621+ (check ~.lex-null-ok-1 src-246 `tok-246 `tre-246)
15021622++ test-lex-open-bracket-bad-1
1503− (check ~.lex-open-bracket-bad-1 src-223 `tok-223 `tre-223)
1623+ (check ~.lex-open-bracket-bad-1 src-247 `tok-247 `tre-247)
15041624++ test-lex-open-bracket-bad-10
1505− (check ~.lex-open-bracket-bad-10 src-224 `tok-224 `tre-224)
1625+ (check ~.lex-open-bracket-bad-10 src-248 `tok-248 `tre-248)
15061626++ test-lex-open-bracket-bad-11
1507− (check ~.lex-open-bracket-bad-11 src-225 `tok-225 `tre-225)
1627+ (check ~.lex-open-bracket-bad-11 src-249 `tok-249 `tre-249)
15081628++ test-lex-open-bracket-bad-12
1509− (check ~.lex-open-bracket-bad-12 src-226 `tok-226 `tre-226)
1629+ (check ~.lex-open-bracket-bad-12 src-250 `tok-250 `tre-250)
15101630++ test-lex-open-bracket-bad-13
1511− (check ~.lex-open-bracket-bad-13 src-227 `tok-227 `tre-227)
1631+ (check ~.lex-open-bracket-bad-13 src-251 `tok-251 `tre-251)
15121632++ test-lex-open-bracket-bad-14
1513− (check ~.lex-open-bracket-bad-14 src-228 `tok-228 `tre-228)
1633+ (check ~.lex-open-bracket-bad-14 src-252 `tok-252 `tre-252)
15141634++ test-lex-open-bracket-bad-15
1515− (check ~.lex-open-bracket-bad-15 src-229 `tok-229 `tre-229)
1635+ (check ~.lex-open-bracket-bad-15 src-253 `tok-253 `tre-253)
15161636++ test-lex-open-bracket-bad-16
1517− (check ~.lex-open-bracket-bad-16 src-230 `tok-230 `tre-230)
1637+ (check ~.lex-open-bracket-bad-16 src-254 `tok-254 `tre-254)
15181638++ test-lex-open-bracket-bad-2
1519− (check ~.lex-open-bracket-bad-2 src-231 `tok-231 `tre-231)
1639+ (check ~.lex-open-bracket-bad-2 src-255 `tok-255 `tre-255)
15201640++ test-lex-open-bracket-bad-3
1521− (check ~.lex-open-bracket-bad-3 src-232 `tok-232 `tre-232)
1641+ (check ~.lex-open-bracket-bad-3 src-256 `tok-256 `tre-256)
15221642++ test-lex-open-bracket-bad-5
1523− (check ~.lex-open-bracket-bad-5 src-233 `tok-233 `tre-233)
1643+ (check ~.lex-open-bracket-bad-5 src-257 `tok-257 `tre-257)
15241644++ test-lex-open-bracket-bad-6
1525− (check ~.lex-open-bracket-bad-6 src-234 `tok-234 `tre-234)
1645+ (check ~.lex-open-bracket-bad-6 src-258 `tok-258 `tre-258)
15261646++ test-lex-open-bracket-bad-7
1527− (check ~.lex-open-bracket-bad-7 src-235 `tok-235 `tre-235)
1647+ (check ~.lex-open-bracket-bad-7 src-259 `tok-259 `tre-259)
15281648++ test-lex-open-bracket-bad-8
1529− (check ~.lex-open-bracket-bad-8 src-236 `tok-236 `tre-236)
1649+ (check ~.lex-open-bracket-bad-8 src-260 `tok-260 `tre-260)
15301650++ test-lex-open-bracket-bad-9
1531− (check ~.lex-open-bracket-bad-9 src-237 `tok-237 `tre-237)
1651+ (check ~.lex-open-bracket-bad-9 src-261 `tok-261 `tre-261)
15321652++ test-lex-open-bracket-ok-1
1533− (check ~.lex-open-bracket-ok-1 src-238 `tok-238 `tre-238)
1653+ (check ~.lex-open-bracket-ok-1 src-262 `tok-262 `tre-262)
15341654++ test-lex-open-bracket-ok-2
1535− (check ~.lex-open-bracket-ok-2 src-239 `tok-239 `tre-239)
1655+ (check ~.lex-open-bracket-ok-2 src-263 `tok-263 `tre-263)
15361656++ test-lex-open-bracket-ok-3
1537− (check ~.lex-open-bracket-ok-3 src-240 `tok-240 `tre-240)
1657+ (check ~.lex-open-bracket-ok-3 src-264 `tok-264 `tre-264)
15381658++ test-lex-open-bracket-ok-4
1539− (check ~.lex-open-bracket-ok-4 src-241 `tok-241 `tre-241)
1659+ (check ~.lex-open-bracket-ok-4 src-265 `tok-265 `tre-265)
15401660++ test-lex-open-bracket-ok-5
1541− (check ~.lex-open-bracket-ok-5 src-242 `tok-242 `tre-242)
1661+ (check ~.lex-open-bracket-ok-5 src-266 `tok-266 `tre-266)
15421662++ test-lex-open-bracket-ok-6
1543− (check ~.lex-open-bracket-ok-6 src-243 `tok-243 `tre-243)
1663+ (check ~.lex-open-bracket-ok-6 src-267 `tok-267 `tre-267)
15441664++ test-lex-open-bracket-ok-7
1545− (check ~.lex-open-bracket-ok-7 src-244 `tok-244 `tre-244)
1665+ (check ~.lex-open-bracket-ok-7 src-268 `tok-268 `tre-268)
15461666++ test-lex-open-bracket-ok-8
1547− (check ~.lex-open-bracket-ok-8 src-245 `tok-245 `tre-245)
1667+ (check ~.lex-open-bracket-ok-8 src-269 `tok-269 `tre-269)
15481668++ test-lex-open-bracket-ok-9
1549− (check ~.lex-open-bracket-ok-9 src-246 `tok-246 `tre-246)
1669+ (check ~.lex-open-bracket-ok-9 src-270 `tok-270 `tre-270)
15501670++ test-lex-open-mold-bad-1
1551− (check ~.lex-open-mold-bad-1 src-247 `tok-247 `tre-247)
1671+ (check ~.lex-open-mold-bad-1 src-271 `tok-271 `tre-271)
15521672++ test-lex-open-mold-bad-10
1553− (check ~.lex-open-mold-bad-10 src-248 `tok-248 `tre-248)
1673+ (check ~.lex-open-mold-bad-10 src-272 `tok-272 `tre-272)
15541674++ test-lex-open-mold-bad-11
1555− (check ~.lex-open-mold-bad-11 src-249 `tok-249 `tre-249)
1675+ (check ~.lex-open-mold-bad-11 src-273 `tok-273 `tre-273)
15561676++ test-lex-open-mold-bad-12
1557− (check ~.lex-open-mold-bad-12 src-250 `tok-250 `tre-250)
1677+ (check ~.lex-open-mold-bad-12 src-274 `tok-274 `tre-274)
15581678++ test-lex-open-mold-bad-13
1559− (check ~.lex-open-mold-bad-13 src-251 `tok-251 `tre-251)
1679+ (check ~.lex-open-mold-bad-13 src-275 `tok-275 `tre-275)
15601680++ test-lex-open-mold-bad-14
1561− (check ~.lex-open-mold-bad-14 src-252 `tok-252 `tre-252)
1681+ (check ~.lex-open-mold-bad-14 src-276 `tok-276 `tre-276)
15621682++ test-lex-open-mold-bad-15
1563− (check ~.lex-open-mold-bad-15 src-253 `tok-253 `tre-253)
1683+ (check ~.lex-open-mold-bad-15 src-277 `tok-277 `tre-277)
15641684++ test-lex-open-mold-bad-16
1565− (check ~.lex-open-mold-bad-16 src-254 `tok-254 `tre-254)
1685+ (check ~.lex-open-mold-bad-16 src-278 `tok-278 `tre-278)
15661686++ test-lex-open-mold-bad-2
1567− (check ~.lex-open-mold-bad-2 src-255 `tok-255 `tre-255)
1687+ (check ~.lex-open-mold-bad-2 src-279 `tok-279 `tre-279)
15681688++ test-lex-open-mold-bad-3
1569− (check ~.lex-open-mold-bad-3 src-256 `tok-256 `tre-256)
1689+ (check ~.lex-open-mold-bad-3 src-280 `tok-280 `tre-280)
15701690++ test-lex-open-mold-bad-4
1571− (check ~.lex-open-mold-bad-4 src-257 `tok-257 `tre-257)
1691+ (check ~.lex-open-mold-bad-4 src-281 `tok-281 `tre-281)
15721692++ test-lex-open-mold-bad-5
1573− (check ~.lex-open-mold-bad-5 src-258 `tok-258 `tre-258)
1693+ (check ~.lex-open-mold-bad-5 src-282 `tok-282 `tre-282)
15741694++ test-lex-open-mold-bad-6
1575− (check ~.lex-open-mold-bad-6 src-259 `tok-259 `tre-259)
1695+ (check ~.lex-open-mold-bad-6 src-283 `tok-283 `tre-283)
15761696++ test-lex-open-mold-bad-7
1577− (check ~.lex-open-mold-bad-7 src-260 `tok-260 `tre-260)
1697+ (check ~.lex-open-mold-bad-7 src-284 `tok-284 `tre-284)
15781698++ test-lex-open-mold-bad-8
1579− (check ~.lex-open-mold-bad-8 src-261 `tok-261 `tre-261)
1699+ (check ~.lex-open-mold-bad-8 src-285 `tok-285 `tre-285)
15801700++ test-lex-open-mold-bad-9
1581− (check ~.lex-open-mold-bad-9 src-262 `tok-262 `tre-262)
1701+ (check ~.lex-open-mold-bad-9 src-286 `tok-286 `tre-286)
15821702++ test-lex-open-mold-ok-1
1583− (check ~.lex-open-mold-ok-1 src-263 `tok-263 `tre-263)
1703+ (check ~.lex-open-mold-ok-1 src-287 `tok-287 `tre-287)
15841704++ test-lex-open-mold-ok-2
1585− (check ~.lex-open-mold-ok-2 src-264 `tok-264 `tre-264)
1705+ (check ~.lex-open-mold-ok-2 src-288 `tok-288 `tre-288)
15861706++ test-lex-open-mold-ok-3
1587− (check ~.lex-open-mold-ok-3 src-265 `tok-265 `tre-265)
1707+ (check ~.lex-open-mold-ok-3 src-289 `tok-289 `tre-289)
15881708++ test-lex-open-mold-ok-4
1589− (check ~.lex-open-mold-ok-4 src-266 `tok-266 `tre-266)
1709+ (check ~.lex-open-mold-ok-4 src-290 `tok-290 `tre-290)
15901710++ test-lex-open-mold-ok-5
1591− (check ~.lex-open-mold-ok-5 src-267 `tok-267 `tre-267)
1711+ (check ~.lex-open-mold-ok-5 src-291 `tok-291 `tre-291)
15921712++ test-lex-open-mold-ok-6
1593− (check ~.lex-open-mold-ok-6 src-268 `tok-268 `tre-268)
1713+ (check ~.lex-open-mold-ok-6 src-292 `tok-292 `tre-292)
15941714++ test-lex-pair-binding-bad-1
1595− (check ~.lex-pair-binding-bad-1 src-269 `tok-269 `tre-269)
1715+ (check ~.lex-pair-binding-bad-1 src-293 `tok-293 `tre-293)
15961716++ test-lex-pair-binding-ok-1
1597− (check ~.lex-pair-binding-ok-1 src-270 `tok-270 `tre-270)
1717+ (check ~.lex-pair-binding-ok-1 src-294 `tok-294 `tre-294)
15981718++ test-lex-path-bad-1
1599− (check ~.lex-path-bad-1 src-271 `tok-271 `tre-271)
1719+ (check ~.lex-path-bad-1 src-295 `tok-295 `tre-295)
16001720++ test-lex-path-ok-1
1601− (check ~.lex-path-ok-1 src-272 `tok-272 `tre-272)
1721+ (check ~.lex-path-ok-1 src-296 `tok-296 `tre-296)
16021722++ test-lex-rune-layout-bad-1
1603− (check ~.lex-rune-layout-bad-1 src-273 `tok-273 `tre-273)
1604−++ test-lex-rune-layout-bad-10
1605− (check ~.lex-rune-layout-bad-10 src-274 `tok-274 `tre-274)
1723+ (check ~.lex-rune-layout-bad-1 src-297 `tok-297 `tre-297)
16061724++ test-lex-rune-layout-bad-11
1607− (check ~.lex-rune-layout-bad-11 src-275 `tok-275 `tre-275)
1725+ (check ~.lex-rune-layout-bad-11 src-298 `tok-298 `tre-298)
16081726++ test-lex-rune-layout-bad-12
1609− (check ~.lex-rune-layout-bad-12 src-276 `tok-276 `tre-276)
1727+ (check ~.lex-rune-layout-bad-12 src-299 `tok-299 `tre-299)
16101728++ test-lex-rune-layout-bad-13
1611− (check ~.lex-rune-layout-bad-13 src-277 `tok-277 `tre-277)
1729+ (check ~.lex-rune-layout-bad-13 src-300 `tok-300 `tre-300)
16121730++ test-lex-rune-layout-bad-14
1613− (check ~.lex-rune-layout-bad-14 src-278 `tok-278 `tre-278)
1731+ (check ~.lex-rune-layout-bad-14 src-301 `tok-301 `tre-301)
16141732++ test-lex-rune-layout-bad-15
1615− (check ~.lex-rune-layout-bad-15 src-279 `tok-279 `tre-279)
1733+ (check ~.lex-rune-layout-bad-15 src-302 `tok-302 `tre-302)
16161734++ test-lex-rune-layout-bad-2
1617− (check ~.lex-rune-layout-bad-2 src-280 `tok-280 `tre-280)
1735+ (check ~.lex-rune-layout-bad-2 src-303 `tok-303 `tre-303)
16181736++ test-lex-rune-layout-bad-3
1619− (check ~.lex-rune-layout-bad-3 src-281 `tok-281 `tre-281)
1737+ (check ~.lex-rune-layout-bad-3 src-304 `tok-304 `tre-304)
16201738++ test-lex-rune-layout-bad-4
1621− (check ~.lex-rune-layout-bad-4 src-282 `tok-282 `tre-282)
1739+ (check ~.lex-rune-layout-bad-4 src-305 `tok-305 `tre-305)
16221740++ test-lex-rune-layout-bad-5
1623− (check ~.lex-rune-layout-bad-5 src-283 `tok-283 `tre-283)
1741+ (check ~.lex-rune-layout-bad-5 src-306 `tok-306 `tre-306)
16241742++ test-lex-rune-layout-bad-6
1625− (check ~.lex-rune-layout-bad-6 src-284 `tok-284 `tre-284)
1743+ (check ~.lex-rune-layout-bad-6 src-307 `tok-307 `tre-307)
16261744++ test-lex-rune-layout-bad-7
1627− (check ~.lex-rune-layout-bad-7 src-285 `tok-285 `tre-285)
1745+ (check ~.lex-rune-layout-bad-7 src-308 `tok-308 `tre-308)
16281746++ test-lex-rune-layout-bad-8
1629− (check ~.lex-rune-layout-bad-8 src-286 `tok-286 `tre-286)
1747+ (check ~.lex-rune-layout-bad-8 src-309 `tok-309 `tre-309)
16301748++ test-lex-rune-layout-bad-9
1631− (check ~.lex-rune-layout-bad-9 src-287 `tok-287 `tre-287)
1749+ (check ~.lex-rune-layout-bad-9 src-310 `tok-310 `tre-310)
16321750++ test-lex-rune-layout-ok-1
1633− (check ~.lex-rune-layout-ok-1 src-288 `tok-288 `tre-288)
1751+ (check ~.lex-rune-layout-ok-1 src-311 `tok-311 `tre-311)
1752+++ test-lex-rune-layout-ok-2
1753+ (check ~.lex-rune-layout-ok-2 src-312 `tok-312 `tre-312)
16341754++ test-lex-ship-bad-1
1635− (check ~.lex-ship-bad-1 src-289 `tok-289 `tre-289)
1755+ (check ~.lex-ship-bad-1 src-313 `tok-313 `tre-313)
16361756++ test-lex-ship-ok-1
1637− (check ~.lex-ship-ok-1 src-290 `tok-290 `tre-290)
1757+ (check ~.lex-ship-ok-1 src-314 `tok-314 `tre-314)
16381758++ test-lex-spacing-bad-1
1639− (check ~.lex-spacing-bad-1 src-291 `tok-291 `tre-291)
1759+ (check ~.lex-spacing-bad-1 src-315 `tok-315 `tre-315)
16401760++ test-lex-spacing-bad-2
1641− (check ~.lex-spacing-bad-2 src-292 `tok-292 `tre-292)
1761+ (check ~.lex-spacing-bad-2 src-316 `tok-316 `tre-316)
16421762++ test-lex-spacing-ok-1
1643− (check ~.lex-spacing-ok-1 src-293 `tok-293 `tre-293)
1763+ (check ~.lex-spacing-ok-1 src-317 `tok-317 `tre-317)
16441764++ test-lex-spacing-ok-2
1645− (check ~.lex-spacing-ok-2 src-294 `tok-294 `tre-294)
1765+ (check ~.lex-spacing-ok-2 src-318 `tok-318 `tre-318)
16461766++ test-lex-spacing-ok-3
1647− (check ~.lex-spacing-ok-3 src-295 `tok-295 `tre-295)
1767+ (check ~.lex-spacing-ok-3 src-319 `tok-319 `tre-319)
16481768++ test-lex-string-bad-1
1649− (check ~.lex-string-bad-1 src-296 `tok-296 `tre-296)
1769+ (check ~.lex-string-bad-1 src-320 `tok-320 `tre-320)
16501770++ test-lex-string-bad-2
1651− (check ~.lex-string-bad-2 src-297 `tok-297 `tre-297)
1771+ (check ~.lex-string-bad-2 src-321 `tok-321 `tre-321)
16521772++ test-lex-string-ok-1
1653− (check ~.lex-string-ok-1 src-298 `tok-298 `tre-298)
1773+ (check ~.lex-string-ok-1 src-322 `tok-322 `tre-322)
16541774++ test-lex-term-bad-1
1655− (check ~.lex-term-bad-1 src-299 `tok-299 `tre-299)
1775+ (check ~.lex-term-bad-1 src-323 `tok-323 `tre-323)
16561776++ test-lex-term-bad-10
1657− (check ~.lex-term-bad-10 src-300 `tok-300 `tre-300)
1777+ (check ~.lex-term-bad-10 src-324 `tok-324 `tre-324)
16581778++ test-lex-term-bad-11
1659− (check ~.lex-term-bad-11 src-301 `tok-301 `tre-301)
1779+ (check ~.lex-term-bad-11 src-325 `tok-325 `tre-325)
16601780++ test-lex-term-bad-12
1661− (check ~.lex-term-bad-12 src-302 `tok-302 `tre-302)
1781+ (check ~.lex-term-bad-12 src-326 `tok-326 `tre-326)
16621782++ test-lex-term-bad-13
1663− (check ~.lex-term-bad-13 src-303 `tok-303 `tre-303)
1783+ (check ~.lex-term-bad-13 src-327 `tok-327 `tre-327)
16641784++ test-lex-term-bad-14
1665− (check ~.lex-term-bad-14 src-304 `tok-304 `tre-304)
1785+ (check ~.lex-term-bad-14 src-328 `tok-328 `tre-328)
16661786++ test-lex-term-bad-15
1667− (check ~.lex-term-bad-15 src-305 `tok-305 `tre-305)
1787+ (check ~.lex-term-bad-15 src-329 `tok-329 `tre-329)
16681788++ test-lex-term-bad-2
1669− (check ~.lex-term-bad-2 src-306 `tok-306 `tre-306)
1789+ (check ~.lex-term-bad-2 src-330 `tok-330 `tre-330)
16701790++ test-lex-term-bad-3
1671− (check ~.lex-term-bad-3 src-307 `tok-307 `tre-307)
1791+ (check ~.lex-term-bad-3 src-331 `tok-331 `tre-331)
16721792++ test-lex-term-bad-4
1673− (check ~.lex-term-bad-4 src-308 `tok-308 `tre-308)
1793+ (check ~.lex-term-bad-4 src-332 `tok-332 `tre-332)
16741794++ test-lex-term-bad-5
1675− (check ~.lex-term-bad-5 src-309 `tok-309 `tre-309)
1795+ (check ~.lex-term-bad-5 src-333 `tok-333 `tre-333)
16761796++ test-lex-term-bad-6
1677− (check ~.lex-term-bad-6 src-310 `tok-310 `tre-310)
1797+ (check ~.lex-term-bad-6 src-334 `tok-334 `tre-334)
16781798++ test-lex-term-bad-7
1679− (check ~.lex-term-bad-7 src-311 `tok-311 `tre-311)
1799+ (check ~.lex-term-bad-7 src-335 `tok-335 `tre-335)
16801800++ test-lex-term-bad-8
1681− (check ~.lex-term-bad-8 src-312 `tok-312 `tre-312)
1801+ (check ~.lex-term-bad-8 src-336 `tok-336 `tre-336)
16821802++ test-lex-term-bad-9
1683− (check ~.lex-term-bad-9 src-313 `tok-313 `tre-313)
1803+ (check ~.lex-term-bad-9 src-337 `tok-337 `tre-337)
16841804++ test-lex-term-ok-1
1685− (check ~.lex-term-ok-1 src-314 `tok-314 `tre-314)
1805+ (check ~.lex-term-ok-1 src-338 `tok-338 `tre-338)
16861806++ test-lex-tight-change-bad-1
1687− (check ~.lex-tight-change-bad-1 src-315 `tok-315 `tre-315)
1807+ (check ~.lex-tight-change-bad-1 src-339 `tok-339 `tre-339)
16881808++ test-lex-tight-change-bad-2
1689− (check ~.lex-tight-change-bad-2 src-316 `tok-316 `tre-316)
1809+ (check ~.lex-tight-change-bad-2 src-340 `tok-340 `tre-340)
16901810++ test-lex-tight-change-bad-3
1691− (check ~.lex-tight-change-bad-3 src-317 `tok-317 `tre-317)
1811+ (check ~.lex-tight-change-bad-3 src-341 `tok-341 `tre-341)
16921812++ test-lex-tight-change-bad-4
1693− (check ~.lex-tight-change-bad-4 src-318 `tok-318 `tre-318)
1813+ (check ~.lex-tight-change-bad-4 src-342 `tok-342 `tre-342)
16941814++ test-lex-tight-change-bad-5
1695− (check ~.lex-tight-change-bad-5 src-319 `tok-319 `tre-319)
1815+ (check ~.lex-tight-change-bad-5 src-343 `tok-343 `tre-343)
16961816++ test-lex-tight-change-bad-6
1697− (check ~.lex-tight-change-bad-6 src-320 `tok-320 `tre-320)
1817+ (check ~.lex-tight-change-bad-6 src-344 `tok-344 `tre-344)
16981818++ test-lex-tight-change-bad-7
1699− (check ~.lex-tight-change-bad-7 src-321 `tok-321 `tre-321)
1819+ (check ~.lex-tight-change-bad-7 src-345 `tok-345 `tre-345)
17001820++ test-lex-tight-change-bad-8
1701− (check ~.lex-tight-change-bad-8 src-322 `tok-322 `tre-322)
1821+ (check ~.lex-tight-change-bad-8 src-346 `tok-346 `tre-346)
17021822++ test-lex-tight-change-bad-9
1703− (check ~.lex-tight-change-bad-9 src-323 `tok-323 `tre-323)
1823+ (check ~.lex-tight-change-bad-9 src-347 `tok-347 `tre-347)
17041824++ test-lex-tight-change-ok-1
1705− (check ~.lex-tight-change-ok-1 src-324 `tok-324 `tre-324)
1825+ (check ~.lex-tight-change-ok-1 src-348 `tok-348 `tre-348)
17061826++ test-lex-tight-ctor-bad-1
1707− (check ~.lex-tight-ctor-bad-1 src-325 `tok-325 `tre-325)
1827+ (check ~.lex-tight-ctor-bad-1 src-349 `tok-349 `tre-349)
17081828++ test-lex-tight-ctor-bad-2
1709− (check ~.lex-tight-ctor-bad-2 src-326 `tok-326 `tre-326)
1829+ (check ~.lex-tight-ctor-bad-2 src-350 `tok-350 `tre-350)
17101830++ test-lex-tight-ctor-ok-1
1711− (check ~.lex-tight-ctor-ok-1 src-327 `tok-327 `tre-327)
1831+ (check ~.lex-tight-ctor-ok-1 src-351 `tok-351 `tre-351)
17121832++ test-lex-tight-opener-bad-1
1713− (check ~.lex-tight-opener-bad-1 src-328 `tok-328 `tre-328)
1833+ (check ~.lex-tight-opener-bad-1 src-352 `tok-352 `tre-352)
17141834++ test-lex-tight-opener-bad-2
1715− (check ~.lex-tight-opener-bad-2 src-329 `tok-329 `tre-329)
1835+ (check ~.lex-tight-opener-bad-2 src-353 `tok-353 `tre-353)
17161836++ test-lex-tight-opener-bad-3
1717− (check ~.lex-tight-opener-bad-3 src-330 `tok-330 `tre-330)
1837+ (check ~.lex-tight-opener-bad-3 src-354 `tok-354 `tre-354)
17181838++ test-lex-tight-opener-bad-4
1719− (check ~.lex-tight-opener-bad-4 src-331 `tok-331 `tre-331)
1839+ (check ~.lex-tight-opener-bad-4 src-355 `tok-355 `tre-355)
17201840++ test-lex-tight-opener-ok-1
1721− (check ~.lex-tight-opener-ok-1 src-332 `tok-332 `tre-332)
1841+ (check ~.lex-tight-opener-ok-1 src-356 `tok-356 `tre-356)
17221842++ test-lex-tight-pair-bad-1
1723− (check ~.lex-tight-pair-bad-1 src-333 `tok-333 `tre-333)
1843+ (check ~.lex-tight-pair-bad-1 src-357 `tok-357 `tre-357)
17241844++ test-lex-tight-pair-bad-2
1725− (check ~.lex-tight-pair-bad-2 src-334 `tok-334 `tre-334)
1845+ (check ~.lex-tight-pair-bad-2 src-358 `tok-358 `tre-358)
17261846++ test-lex-tight-pair-bad-3
1727− (check ~.lex-tight-pair-bad-3 src-335 `tok-335 `tre-335)
1847+ (check ~.lex-tight-pair-bad-3 src-359 `tok-359 `tre-359)
17281848++ test-lex-tight-pair-ok-1
1729− (check ~.lex-tight-pair-ok-1 src-336 `tok-336 `tre-336)
1849+ (check ~.lex-tight-pair-ok-1 src-360 `tok-360 `tre-360)
17301850++ test-lex-tight-qath-bad-1
1731− (check ~.lex-tight-qath-bad-1 src-337 `tok-337 `tre-337)
1851+ (check ~.lex-tight-qath-bad-1 src-361 `tok-361 `tre-361)
17321852++ test-lex-tight-qath-bad-2
1733− (check ~.lex-tight-qath-bad-2 src-338 `tok-338 `tre-338)
1853+ (check ~.lex-tight-qath-bad-2 src-362 `tok-362 `tre-362)
17341854++ test-lex-tight-qath-bad-3
1735− (check ~.lex-tight-qath-bad-3 src-339 `tok-339 `tre-339)
1855+ (check ~.lex-tight-qath-bad-3 src-363 `tok-363 `tre-363)
17361856++ test-lex-tight-qath-ok-1
1737− (check ~.lex-tight-qath-ok-1 src-340 `tok-340 `tre-340)
1857+ (check ~.lex-tight-qath-ok-1 src-364 `tok-364 `tre-364)
17381858++ test-lex-tight-unit-bad-1
1739− (check ~.lex-tight-unit-bad-1 src-341 `tok-341 `tre-341)
1859+ (check ~.lex-tight-unit-bad-1 src-365 `tok-365 `tre-365)
17401860++ test-lex-tight-unit-ok-1
1741− (check ~.lex-tight-unit-ok-1 src-342 `tok-342 `tre-342)
1861+ (check ~.lex-tight-unit-ok-1 src-366 `tok-366 `tre-366)
17421862++ test-lex-tight-wing-bad-1
1743− (check ~.lex-tight-wing-bad-1 src-343 `tok-343 `tre-343)
1863+ (check ~.lex-tight-wing-bad-1 src-367 `tok-367 `tre-367)
17441864++ test-lex-tight-wing-ok-1
1745− (check ~.lex-tight-wing-ok-1 src-344 `tok-344 `tre-344)
1865+ (check ~.lex-tight-wing-ok-1 src-368 `tok-368 `tre-368)
17461866::
17471867:: +check: run golden:jibb on a case and compare both outputs
17481868::
tools/ship+1−1
@@ -1657,7 +1657,7 @@ MERGE_BASE = b"""\
16571657++ main (program init update view subs)
16581658
16591659+$ model [todos=(list item.todo) draft=@t error=(unit @t)]
1660−+$ msg $?
1660++$ msg
16611661 [%typed text=@t]
16621662 %submit
16631663 [%toggled id=@ud]