Commit Graph

54 Commits

Author SHA1 Message Date
lilleman 4f484cd780 Answer architecture round 3, stability round 1 and product-owner round 1: CalcName and proven.OfCalc for one meaning per name, a lazy load placed where its lookup found it, DataType's constants typed under it, and cover printing the module's total 2026-10-05 16:30:28 +02:00
lilleman 679bd43c7c Answer architecture round 2: guard Noun's range, name calc once as builtinfunc.Calc, and place readTableOptions in item 46 2026-10-05 16:30:28 +02:00
lilleman 3bb96ded91 Move the builtins, with their checksums, layouts and transforms, into internal/builtinfunc, and check calc's operands in the engine 2026-10-05 16:30:28 +02:00
lilleman 9357abb279 Move DataType into internal/datatype, aliased by the root, and what a proof knows of a value into internal/proven 2026-10-05 16:30:28 +02:00
lilleman 177dd4b50b Answer prose round 1: delete two false comments, plainer SplitPath, evalCalc and decision wording, a shorter comprehension floor title, and item 110 owes a changelog entry 2026-10-05 12:35:08 +02:00
lilleman 6fd7da19e5 Answer architecture round 1: calls carry no operands in the grammar, ParseCalc returns its operands, one empty-segment check, sorted token kinds, and file items 110 and 111 2026-10-05 12:35:08 +02:00
lilleman c2f2e86735 Move how the template language is written into internal/grammar 2026-10-05 12:35:08 +02:00
lilleman 46895151c8 Answer prose round 1: plainer sentences in the two decisions, no provenance in items 108 and 109, and shorter comments in drawstate, render and format 2026-10-05 12:03:38 +02:00
lilleman 1d0fe9f555 Answer architecture round 1: read the module path from go.mod, keep the randomness behind State's methods, rename the field drawState and the counter Seq, and file items 108 and 109 2026-10-05 12:03:38 +02:00
lilleman 2d9c315e75 Move the seeded randomness and the {seq()} counters into internal/drawstate 2026-10-05 12:03:38 +02:00
lilleman f89ffd1b73 Answer stability round 3, product-owner round 3 and prose round 1: a column reading a bound column takes its datatype and null, a column bound in part draws afresh, and plainer wording across the README, decisions, plan and errors 2026-10-05 10:19:01 +02:00
lilleman 6aebeebb72 Draw every {…} afresh, keep a pick only by name, and delete drawGroup with the hold and draw fences 2026-10-05 10:19:01 +02:00
lilleman 426517e66d Answer stability round 1, product-owner round 1 and prose round 1: say calc reads names in the Functions table, use shipped data in the examples, plainer comments and item wording, mark items 5 and 90 as decision-cited, and ask whether a field spelling of a calc operand is refused 2026-10-05 01:23:55 +02:00
lilleman 0743a049d7 Answer architecture round 2: refuse by default where a builtin's operand can be a reference, test the flag against each operand grammar, drop a duplicate test, rename allNeverNumeric, rewrap Computation, and order item 91 after item 4 2026-10-05 01:23:55 +02:00
lilleman 94cf741706 Answer architecture round 1: exempt only a calc operand from the read-once refusal, run the name passes from one list, read every operand's leaves, show a name operand in a README example, and plan a path through a name as an operand 2026-10-05 01:23:55 +02:00
lilleman 8b76d51f2c Step up from a row to the row it links to with .. 2026-10-05 00:23:18 +02:00
lilleman 62214370ed Make the names prose true of the code and readable on one pass, and state each refusal once 2026-10-03 14:23:58 +02:00
lilleman 0b0370936a Refuse a name read once only when read whole, and name every way out in the scope and draw-group refusals 2026-10-03 14:23:58 +02:00
lilleman 740f2bc3bd Refuse a name read across draw groups or in a repeat where it reads a reference path, or read once; name the spelling in each refusal 2026-10-03 14:23:58 +02:00
lilleman b1aed332e7 Keep in a pick only what reads of its name address, look frames up on the stack alone, and refuse a name read once whole 2026-10-03 14:23:58 +02:00
lilleman d0c477ec78 Keep a name's frame with the read entering its category, refuse a binding in a choice's item, and read a name as a transform operand 2026-10-03 14:23:58 +02:00
lilleman 23e426016d Bind a pick to a name with {ref as n}, and read it with {n} and {n.path} 2026-10-03 14:23:58 +02:00
lilleman a9448d1a99 Delete comments restating their code, and doc.go's partial list of draw fences 2026-09-30 22:01:04 +02:00
lilleman 0b5124d4d5 Rename checkResolves to checkPathResolves 2026-09-30 21:49:05 +02:00
lilleman 698ac036d5 Move checkField to valueproof.go and rename checkPath to checkResolves 2026-09-30 21:49:05 +02:00
lilleman 26b35abe70 Fix at compile how readField reads an arm, deleting its two panics and its held lookup per read 2026-09-30 20:49:58 +02:00
lilleman 317486df0a Fold checkNoOverlap and checkNoRepeatedRead into heldCheck, so compileFormat compiles and nothing more 2026-09-30 20:32:35 +02:00
lilleman 6b9755b3ef Compile each path's steps, leaves and cover once at link, deleting pathCover, coverPath and pathLeaves 2026-09-30 20:02:16 +02:00
lilleman acbc6943b8 Spell a reference path as arm.isRefPath, and say where each tail's head is held 2026-09-29 16:50:44 +02:00
lilleman dee1e186e3 Hold only an expansion's names in formatOps.held, deleting keepsHold 2026-09-29 16:50:44 +02:00
lilleman ba43eb1c91 Compile a format in format.go 2026-09-29 15:41:48 +02:00
lilleman b99966fe19 Name the render's draws apart from the expansion hold: drawMemo, groupDraws, renderDraws 2026-09-29 14:45:34 +02:00
lilleman 186443f883 Rename eachToken to eachScanUnit, and narrow generatorState to draw state 2026-09-29 12:47:38 +02:00
lilleman 14194a775d Rename ftoken to scanUnit and session to generatorState 2026-09-29 12:47:38 +02:00
lilleman b75e517bda Name resolveLink as what proves splitArm's reference, and the tail it takes 2026-09-29 11:55:15 +02:00
lilleman 6b17205159 Give arm its head as written, and spell readRow's selector from it 2026-09-29 11:55:15 +02:00
lilleman bad15a5bdb Name formatOps' held entry firstReach, and checkNameHeld's path spelling path 2026-09-29 11:35:46 +02:00
lilleman bb70688f1d Hold each name in one formatOps map, beside its first reader and path 2026-09-29 11:35:46 +02:00
lilleman eebf2aa62b Delete the comments and preambles the panel found empty 2026-09-29 10:33:56 +02:00
lilleman 6275c6d41e Rename refBinding.key to head, and the stale key wording beside it 2026-09-29 10:28:15 +02:00
lilleman a7d77bd3ad Rename arm.key to head, give renderScope.row its own type, and value.go to valueproof.go 2026-09-29 10:28:15 +02:00
lilleman 3047627715 Call the body funcCall refuses a name-read body 2026-09-29 04:31:25 +02:00
lilleman fe2fea5da2 Drop the last field-alternation wording, say checkNodeFences holds the fences every binding needs, and tick the rename off 2026-09-29 04:31:25 +02:00
lilleman 29f3821a21 Rename pinnedRow, table.category, checkRenders, fieldAlternation and referenceFence to what they are 2026-09-29 04:31:25 +02:00
lilleman 4d35ead2a4 Say prints is handed to proveNumber, and give shortestDecimals its own const 2026-09-29 04:17:59 +02:00
lilleman 0dfa615b54 Name printedNumber's dp cases, and say what prints and proveNumber a builtin sets 2026-09-29 04:17:59 +02:00
lilleman 3131ecf2d6 Say which held names the expansion keeps, and cut formatOps restatements 2026-09-29 03:49:59 +02:00
lilleman dc0f9fa2d6 Drop the comment claims that name callers and List's gaps 2026-09-28 21:46:24 +02:00
lilleman 21b48c8c41 Correct the false comments and delete dead code 2026-09-28 21:46:24 +02:00
lilleman 8f86de2187 Name pathKeys, pathKeyReaders, proveKeys and readValue's hold for what they hold, and give no token kind to the zero value 2026-09-28 12:06:03 +02:00