Revise the decisions on an unnamed TSV, an embedded tag's name and the zero divisor, and file the five spellings goal 5.7 leaves open

This commit is contained in:
2026-10-07 23:44:17 +02:00
committed by Lillem4n
parent 825030b80d
commit 07a0498c5e
2 changed files with 11 additions and 8 deletions
+5 -7
View File
@@ -287,7 +287,8 @@ assumes a 64-bit int; on a 32-bit target it could overflow and panic.
## A constant zero divisor is a load error; in a string column a divisor that is not constant prints `Inf`
2026-09-24, Lilleman auf Larv.
2026-09-24, Lilleman auf Larv. Serves goal 6.1: a value that is always `NaN` or `Inf` is
no valid value.
`1/0` and a fixed `"0"` field are decidable, so they join the never-numeric operand as a
load error; the fold stops where an operand varies, so `a/(b*c)` with `b` fixed at `0`
@@ -329,8 +330,7 @@ The fields an embedded struct promotes are the struct's own — `e.First`, as
its names: one tag may bind `{/person as p}{p.first}` and another read `{p.sex}` (goal 4.1),
while a path tag draws afresh as `{/path}` does (goal 5.2).
A tag binding a name only an embedding type reads is refused on the embedded type alone, as
any name nothing reads is, so the embedder binds it in a tag of its own. A tagged field that
A tagged field that
another field hides is refused, not dropped. A named
struct field is another entity and a record of its own. `fake:"-"` leaves any struct
field unfilled, so no name may be `-`; a pointer back to a struct
@@ -439,7 +439,7 @@ heap through `pickKey.under`, holds at its baseline with no margin: from a basel
objects would cost it a second; a TSV is one allocation whose cells are substrings, and
the JSON says only how a row is composed. The TSV sits beside its category file, named
by `rows`, so a data directory stays a directory of categories, and one nothing names is
a load error.
ignored.
## A selector is bracketed, and a dot inside it is literal
@@ -538,9 +538,7 @@ kept building the lookup on first draw, once per table.
2026-09-17, Lilleman auf Larv.
Each is a view of the file with its own format and options, at the cost of holding the
rows twice, which is what a category over a register with two natural formats asks for;
a TSV nothing names stays a load error, since that one is a file forgotten rather than
shared.
rows twice, which is what a category over a register with two natural formats asks for.
## A cell may read a reference, and each row its own
+6 -1
View File
@@ -6,7 +6,7 @@
`Bar = 9`
`Next ID = 162`
`Next ID = 163`
| Goal | W |
|---|---|
@@ -78,6 +78,7 @@
| 89 | 0.1.0 | | **Fail `New` without `WithSeed`, naming the option, and seed the CLI from the system.** | 3 | 3 | 6 | 7 | 10.1 | 16.0 |
| 145 | 0.1.0 | | **Move `doc.go`'s definitions of a level, a pick key and an addressed key, with their worked example, to `pickKey` in `pick.go`, and gather `levelKeys`, `addressedKeys`, `renderEnv.keeps` and `readField`'s kept read beside `readUnder`, so a reader follows a named read in one file.** | 2 | 3 | 1 | 9 | 3.4, 3.2 | 15.4 |
| 127 | 0.1.0 | | **Give a Swedish street only postal codes whose delivery digit means street or rural delivery, dropping codes whose delivery digit is 9, or record why they stay.** | 3 | 3 | 4 | 6 | 4 | 14.4 |
| 162 | 0.1.0 | question | **Decide whether each of five spellings loads under goal 5.7: a binding in a table's format or cell, a path through a name that selects a row, an unknown key in a table object, a table `name` with neither `key` nor `parent`, and a key or name no selector can spell.** | 1 | 2 | 3 | 6 | 5.7 | 14.1 |
| 110 | 0.1.0 | | **Refuse an empty segment in a path `Fake` and `FakeRecord` take, as a reference does: `sv_SE.person.` reports `path has an empty segment`.** | 1 | 1 | 3 | 6 | 6 | 13.8 |
| 10 | 0.1.0 | | **Test that every node kind reaches each switch over node kinds.** | 1 | 3 | 2 | 6 | 3.2 | 13.1 |
| 148 | 0.1.0 | | **State in `geo.py` the locality row each country's script hands it, and meet the fence that every parent row has a child row in one shared step.** | 2 | 3 | 2 | 6 | 2.1, 3.2 | 12.6 |
@@ -288,6 +289,10 @@ All 13 seats of the 2026-10-07 panel and scoring run on ad59967 again named the
`docs/research/research-geo-se.md` reads delivery digit 0 or 1 as boxes, 2–4 and 6–7 as street, 5 as rural, 8 as reply mail and 9 as competitions or temporary, with exceptions in big cities. `street_delivery` drops 0, 1 and 8 and keeps 9. The panel of 2026-10-05 found it; whether a shipped street carries a 9 code is unchecked.
### 162. Decide whether each of five spellings loads under goal 5.7: a binding in a table's format or cell, a path through a name that selects a row, an unknown key in a table object, a table `name` with neither `key` nor `parent`, and a key or name no selector can spell.
Each stays refused today. Goal 5.7 loads whatever is well-formed and means one thing; for each, what it would mean is not settled. An unknown key such as `repeat` on a table object would silently not repeat. Found while dropping the refusals that guessed at mistakes.
### 110. Refuse an empty segment in a path `Fake` and `FakeRecord` take, as a reference does: `sv_SE.person.` reports `path has an empty segment`.
Today `Fake("sv_SE.person.")` reports `no field ""`, while `{/sv_SE.person.}` reports `path has an empty segment`. `grammar.CheckSegments` is the check a reference, a sibling path and a step up `..` run.