Any expression is to take its type from (the T expr)
This commit is contained in:
parent
1cec47b5d4
commit
51ce9a2ba6
3
TODO.org
3
TODO.org
@ -892,7 +892,8 @@ Not the same fix: a bracket literal has no argument to put a type in. Decision:
|
|||||||
how a literal names its element type — a spelling of its own, or a =let=
|
how a literal names its element type — a spelling of its own, or a =let=
|
||||||
annotation.
|
annotation.
|
||||||
|
|
||||||
** TODO A let binding takes no type annotation
|
** NEXT A let binding takes no type annotation
|
||||||
|
Decided 2026-09-25: =(the T expr)=, Common Lisp's special operator, gives any expression its want; checked at compile time like any other want, and it compiles to nothing. =let= is unchanged. On a =dyn= operand it is refused, naming the cast. The refusals that say "annotate the binding" — =None=, an empty =[]=, and =(zeroed)=/=(filled)=/=(dead-beef)= with no want — suggest it instead, because today their suggestion cannot compile.
|
||||||
Everything under the surface is there — the binding carries a type slot and the
|
Everything under the surface is there — the binding carries a type slot and the
|
||||||
checker consumes it as the want — and only the way it is written is open, because
|
checker consumes it as the want — and only the way it is written is open, because
|
||||||
=let= is a flat list of pairs and cannot disambiguate by count. No longer the
|
=let= is a flat list of pairs and cannot disambiguate by count. No longer the
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user