From 398bd7b851066fe495dd065bf201934ec94c4727 Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Sat, 26 Sep 2026 14:03:10 +0700 Subject: [PATCH] .fln is queued to become the only source language, with Swift optionals and no ? or ! in names. --- TODO.org | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/TODO.org b/TODO.org index be2ac12c..df3cdf13 100644 --- a/TODO.org +++ b/TODO.org @@ -10,6 +10,14 @@ 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 +** 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 +optionals: =T?= for =Option(T)=, =x ?? d=, =x!= (traps when absent), =if let g = x= +(binds the payload), and chaining =a?.b=. Order: optionals and the name rule; the +prelude and vendor rewritten in .fln; tests and examples converted with =flan convert=; +then =flan convert=, the .flan source path and =flan-mode= removed. Nothing tracks what +.flan can no longer say. ** WAIT A cheap front for dyn sequences Decided 2026-09-26 (128) to pause: dyn vectors are mutable, so taking from the front shifts every element. Options were a linked list (cons/first/rest) or storing the dyn