1698 Commits

Author SHA1 Message Date
12cd4feff0 A .fln let takes more bindings on the lines indented under it, a top-level one more globals, and flan convert writes runs of short bindings that way 2026-09-26 06:26:36 +07:00
0a1f5a3483 The literal-conflict fix spells a whole float with its point, and the measuring switch says what it is for 2026-09-26 06:26:24 +07:00
749b4aeb84 A float element of a dyn view takes an int it holds exactly and traps on one it does not. 2026-09-26 06:22:26 +07:00
5177586848 A number or character literal bound by let or loop takes its type from its uses in the function 2026-09-26 06:22:25 +07:00
f39612bc7c Code a request sends without :syntax is read in its file's syntax, or the program's when it names none, and a dotted dyn name points to its accessor. 2026-09-26 06:21:07 +07:00
04b29f283d In a .fln buffer a closer-led line inside open brackets goes to the bracket's continuation column, save the closer of a lambda's block 2026-09-26 06:20:55 +07:00
f91ed8ad27 Indices in .fln separate like a vector's elements, by spaces between single values or by commas 2026-09-26 06:19:59 +07:00
e79d9c0d07 Merge master into the views lane 2026-09-26 06:18:31 +07:00
6e006fce27 not is a prefix word in .fln, looser than comparisons and tighter than and, with not(x) still a call 2026-09-26 06:18:11 +07:00
26fc9d82a6 docs/BUILT.md states how a dev build decides a dyn view is stale. 2026-09-26 06:17:59 +07:00
d5d9dc1538 A view describes a struct from its own program's table, and an Option's payload is bound to a slot before it is viewed. 2026-09-26 06:17:59 +07:00
8291e62d7a TODO.org records the view decisions: str read-only, aggregates written through their own view, no int into a float element, and no check in a release build. 2026-09-26 06:10:51 +07:00
06eaf738b9 .fln lambdas are written with =>, and one with a block can sit last inside a call's brackets 2026-09-26 06:10:12 +07:00
7953376e4e Any typed container of numbers, bools, str, structs, arrays, slices or Vecs crosses into dyn as a view from any storage, and a dev build traps on a view whose frame returned or whose block was released. 2026-09-26 06:10:11 +07:00
b1404727b6 A lambda with a block prints wherever it is last in its brackets, an element after a block lambda is refused as not last, and TAB offers no column of a block whose brackets have closed 2026-09-26 06:09:47 +07:00
2dbc8539e5 Merge branch 'master' into worktree-agent-af3c12884ed5f2255 2026-09-26 06:09:13 +07:00
4eefd25df9 A class instance refuses a key its class does not declare, read or written, through get, put, .field and [:key]. 2026-09-26 06:02:51 +07:00
65be0bf774 The closer placement after RET in an open call is recorded 2026-09-26 06:01:56 +07:00
d8fd89e31c Calls without parentheses are held 2026-09-26 06:00:48 +07:00
e0652f2970 not as a prefix word is queued 2026-09-26 05:58:26 +07:00
1330f2cbc6 .fln has struct, class, method, generic, multi, macro, loop and type headers, one-line structs, and a top-level let is a global 2026-09-26 05:56:48 +07:00
444d2384ce Indices separate like vector elements, queued 2026-09-26 05:56:31 +07:00
1022b7c7f9 Merge branch 'master' into worktree-agent-af3c12884ed5f2255 2026-09-26 05:54:17 +07:00
5a4ed94b65 Merge branch 'master' into worktree-agent-ae8e466a60e7cf35a
# Conflicts:
#	TODO.org
2026-09-26 05:54:09 +07:00
6f6e01db06 A bare def is answered with the let to write, and a generic missing its arrow is refused at the end of its line. 2026-09-26 05:54:01 +07:00
605eb97e75 A dyn value's .field and [:key] read as get and assign as put. 2026-09-26 05:52:56 +07:00
8e8015cb2d Primitive literals are typed by local inference, and container and text literals are dyn unless annotated 2026-09-26 05:52:20 +07:00
7c197e3bb0 A let takes several bindings on indented lines, queued 2026-09-26 05:46:52 +07:00
895828992e Merge branch 'master' into worktree-agent-ae8e466a60e7cf35a 2026-09-26 05:44:39 +07:00
a8f98c86f1 A let in a form cut from inside a body stays local when the editor sends it, and the printer forgets one file's class names before the next. 2026-09-26 05:44:03 +07:00
f9dadce5d0 The typed read-only text type is str, and a variable may be named after a type when a type follows it 2026-09-26 05:40:11 +07:00
702ebdc9c5 In a .fln file a top-level let is a global and def is refused, while a let in a block or an evaluated expression stays local. 2026-09-26 05:39:59 +07:00
cde4f2ab1b A .fln file writes classes and methods as class, generic, multi and method headers, and flan convert prints them so. 2026-09-26 05:39:59 +07:00
905a4c53be A struct or union fits on one line, struct Pt(x: i32, y: i32), and flan convert writes that form when it fits. 2026-09-26 05:39:59 +07:00
de0c8791f3 A variable named like a header or clause word, data = 3 or on += 1, is read and printed as an assignment. 2026-09-26 05:39:59 +07:00
3f4e5a930f A defining form written as the fallback call in a .fln buffer draws its head as a keyword and its name as a definition, and imenu lists it. 2026-09-26 05:39:59 +07:00
72c73117d6 A .fln file writes a type alias as type Row = Vec(i32), and flan check prints nothing for a file that checks unless given --defs. 2026-09-26 05:39:59 +07:00
1a97dfff77 A .fln file writes a condition's parent as struct DiskFull :parent IoError, a macro as macro repeat(i, n, & body) and a loop as loop x = a, y = b, and flan convert prints them so. 2026-09-26 05:39:59 +07:00
aefd2b7887 Merge branch 'master' into worktree-agent-a13e26f81443d4165 2026-09-26 05:39:56 +07:00
49e6ac6512 Comments and the README example spell the text type str. 2026-09-26 05:39:56 +07:00
34ef99d1f2 A block lambda in code cut mid-line reads against its line's start, an arm or else value ending in => takes its block, and a missing comma between indices shows the indexed spelling 2026-09-26 05:37:22 +07:00
69e5e7fe4a A dyn value takes .field and [:key], queued 2026-09-26 05:37:20 +07:00
6e56fce7fa flan-fln-mode reads a lambda's block inside brackets as statements, and the spec and manual write lambdas with => 2026-09-26 05:27:28 +07:00
7e5ea096a5 A top-level let is a .fln global 2026-09-26 05:27:27 +07:00
b92e91bcaa A parameter, local or field may be named str or any other type name when a type follows it, and a type-named parameter with no type after it is refused with both fixes. 2026-09-26 05:27:23 +07:00
3520e2d73e Classes and methods get .fln syntax 2026-09-26 05:23:57 +07:00
267db2cd91 The typed read-only text type is spelled str, and string is refused with that fix. 2026-09-26 05:22:24 +07:00
8d24b024a2 One-line structs are queued 2026-09-26 05:19:51 +07:00
3c962197f4 A .fln lambda's body follows =>, and a lambda's block may sit inside a call's brackets as its last argument 2026-09-26 05:17:31 +07:00
ada798f875 type aliases in .fln are queued, and a noisy flan check is recorded 2026-09-26 05:05:05 +07:00