A literal's reading is fixed where it is bound, and a dyn past the second operand of + is recorded as converted wrongly.
This commit is contained in:
parent
85482956ea
commit
e3f431ea79
9
TODO.org
9
TODO.org
@ -10,6 +10,12 @@ pointing at it. A CANCELLED entry carries the one-line reason, because an idea
|
||||
rejected without a record is an idea that gets re-proposed.
|
||||
|
||||
* Language surface
|
||||
** DONE A literal's reading is fixed where it is bound
|
||||
CLOSED: [2026-09-26]
|
||||
Decision 132, clarifying 117: a vector, map or text literal is typed only when its own
|
||||
binding is annotated or it is passed straight to a typed parameter; a later typed use
|
||||
converts the dyn value at that site. Rules out a later line changing what an earlier
|
||||
line prints.
|
||||
** NEXT .fln is the only source language
|
||||
Decided 2026-09-26 (130): the .flan syntax is retired. .fln names carry no =?= or =!=;
|
||||
predicates are =is-=/=has-=, and the raylib generator emits =is-key-pressed=. Swift
|
||||
@ -781,6 +787,9 @@ One spelling for one operation; != stays, and not= is refused with a suggestion
|
||||
of !=.
|
||||
|
||||
* Checker
|
||||
** TODO A dyn operand past the second in a + fold is converted to the running type
|
||||
=(+ 1 2 d)= with d a dyn char prints 100: the dyn is unboxed to i32 before adding, where
|
||||
rule 117 says typed beside dyn gives dyn (=(+ 3 d)= gives =\d=). Predates the char lane.
|
||||
** WAIT Checking a wide fold of let operands is slow
|
||||
Parked 2026-09-26: design first; remeasure on a quiet machine, it was timed under load 20.
|
||||
A 2000-operand (bit-and (let …) …) takes 32 s to check (37 s before the bit operators);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user