Skip to content

Introduce vertical void attributes (? > name)#5268

Merged
yegor256 merged 6 commits into
objectionary:masterfrom
maxonfjvipon:bug/#5267/vertical-voids
Jun 26, 2026
Merged

Introduce vertical void attributes (? > name)#5268
yegor256 merged 6 commits into
objectionary:masterfrom
maxonfjvipon:bug/#5267/vertical-voids

Conversation

@maxonfjvipon

@maxonfjvipon maxonfjvipon commented Jun 26, 2026

Copy link
Copy Markdown
Member

Implements the ? -headed body-line forms from the fragile-objects epic #5261.

Part 1 — vertical void attributes. A ? > name body line declares a void attribute, equivalent to listing name in the bracket params, emitting the same <o name="name" base="∅"/>; move-voids-up hoists it — no XSL/runtime/transpiler change. ? is a dedicated line shape (LnVoid), never a value — so ?.read, foo ? bar, foo. ? q, bare ?, and a void with children are all rejected.

Part 2 — atom error-formas. In an atom, a void may carry ? > not-found /{string io.file-error}, emitting a @types attribute whose tokens resolve exactly like @atom (leading Q.Φ. at parse; then alias-expanded and Φ.-prefixed when dotless), e.g. types="Φ.string io.file-error". Rejected outside an atom. Resolution reuses the pipeline via an attribute-level match="@types" template in resolve-aliases.xsl and add-default-package.xsl.

PARSER_SPEC.md R-3.4.7/R-3.4.8 and parse/EoTest packs cover both parts. Green with -Pqulice.

Closes #5267.

@github-actions github-actions Bot added the core label Jun 26, 2026
@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

🚀 Performance Analysis

All benchmarks are within the acceptable range. No critical degradation detected (threshold is 100%). Please refer to the detailed report for more information.

Click to see the detailed report
Test Base Score PR Score Change % Change Unit Mode
benchmarks.XmirBench.xmirToEO 11381.998 11436.508 54.510 0.48% ms/op Average Time

⚠️ Performance loss: benchmarks.XmirBench.xmirToEO is slower by 54.510 ms/op (0.48%)

@maxonfjvipon maxonfjvipon marked this pull request as ready for review June 26, 2026 14:37
@maxonfjvipon

Copy link
Copy Markdown
Member Author

@yegor256 please have a look

@yegor256 yegor256 merged commit 40e1f34 into objectionary:master Jun 26, 2026
26 checks passed
@sonarqubecloud

Copy link
Copy Markdown

@0crat

0crat commented Jun 26, 2026

Copy link
Copy Markdown

@maxonfjvipon Thanks for the contribution! You've earned +4 points for this: +16 as a basis; -4 for too many hits-of-code (486 >= 100); -8 for way too many hits-of-code (486 >= 400). Please, keep them coming. Your running score is +394; don't forget to check your Zerocracy account too).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

introduce vertical void attributes (? > name) and atom error-formas (/{…}) (part of #5261)

3 participants