diff --git a/TODO.org b/TODO.org index f2888865..551e2291 100644 --- a/TODO.org +++ b/TODO.org @@ -11,6 +11,12 @@ rejected without a record is an idea that gets re-proposed. * Language surface +** NEXT str and String +Decided 2026-09-25: the typed read-only text is =str= (renamed from =string=); =String= +is new, owned, growable, always valid UTF-8, through an allocator. The prelude's text +builders return =String=; =(Vec u8)= stays for raw bytes. Text is UTF-8 everywhere and +a character is a code point. Waits on the dyn-unless-annotated design. + ** NEXT Dyn unless annotated Decided 2026-09-25: in both syntaxes an unannotated value is dyn — [6 2 4 9] is a dyn vector, 1 a dyn integer — and a typed value needs an annotation. Rules and migration