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.
|
rejected without a record is an idea that gets re-proposed.
|
||||||
|
|
||||||
* Language surface
|
* 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
|
** NEXT .fln is the only source language
|
||||||
Decided 2026-09-26 (130): the .flan syntax is retired. .fln names carry no =?= or =!=;
|
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
|
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 !=.
|
of !=.
|
||||||
|
|
||||||
* Checker
|
* 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
|
** 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.
|
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);
|
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