Let a choice's item scope the names it binds for its own reads, in the decision and its title
This commit is contained in:
@@ -114,7 +114,7 @@ In [docs/decisions.md](docs/decisions.md):
|
|||||||
- The US given names come from a mirror of the SSA file
|
- The US given names come from a mirror of the SSA file
|
||||||
- `List` advertises direct descents only
|
- `List` advertises direct descents only
|
||||||
- A path draws through its compiled steps
|
- A path draws through its compiled steps
|
||||||
- A name lives in the category binding it, or in the repeat binding it, and is drawn on its first read
|
- A name lives in the category binding it, or in the repeat or choice item binding it, and is drawn on its first read
|
||||||
- comprehension floor: every dimension and the overall at 7.0 or above
|
- comprehension floor: every dimension and the overall at 7.0 or above
|
||||||
- The template engine stays the root package until item 107; what reads no engine type, a table's rows included, sits in `internal/`
|
- The template engine stays the root package until item 107; what reads no engine type, a table's rows included, sits in `internal/`
|
||||||
- Goal 5.1's `{…}` covers `{{`, `}}` and a lone `}`, so the goal names no escape
|
- Goal 5.1's `{…}` covers `{{`, `}}` and a lone `}`, so the goal names no escape
|
||||||
|
|||||||
+4
-3
@@ -825,14 +825,15 @@ struct's fields as one, and a repeat of a reference path rose from 66 to 106 all
|
|||||||
benchmark gained an allocation. Valid while Go's escape analysis tracks a struct's fields
|
benchmark gained an allocation. Valid while Go's escape analysis tracks a struct's fields
|
||||||
as one.
|
as one.
|
||||||
|
|
||||||
## A name lives in the category binding it, or in the repeat binding it, and is drawn on its first read
|
## A name lives in the category binding it, or in the repeat or choice item binding it, and is drawn on its first read
|
||||||
|
|
||||||
2026-10-03, larv-review in PR #145; approved by Lilleman auf Larv. Goals 5.3 and 5.6.
|
2026-10-03, larv-review in PR #145; approved by Lilleman auf Larv. Goals 5.3 and 5.6.
|
||||||
`bindNames` scopes a name at compile, and a render keeps one `pickFrame` per scope. One
|
`bindNames` scopes a name at compile, and a render keeps one `pickFrame` per scope. One
|
||||||
field binds a name where another reads it, `"first": "{/person as p}{p.first}"` beside
|
field binds a name where another reads it, `"first": "{/person as p}{p.first}"` beside
|
||||||
`"last": "{p.last}"`, so the scope cannot be the template holding the binding; the category
|
`"last": "{p.last}"`, so the scope cannot be the template holding the binding; the category
|
||||||
is the smallest unit holding every field and record column. A choice's item binds no name,
|
is the smallest unit holding every field and record column. A choice's item binds a name
|
||||||
since a read outside the item would see a binding another item leaves out. A pick is drawn on
|
for its own reads, picked anew each time the item is drawn; a read outside the item is
|
||||||
|
refused, since it would see a binding another item leaves out. A pick is drawn on
|
||||||
its first read, so a record's columns, rendered in name order, read one pick whichever binds
|
its first read, so a record's columns, rendered in name order, read one pick whichever binds
|
||||||
it.
|
it.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user