404 Commits

Author SHA1 Message Date
79430aca77 A lambda's last form is checked at the return its position wants, a call's arguments and a kept cond with no else keep a when as an Option, a when used as an arithmetic operand is blamed itself, elif let reads and prints as a nested if-let, and dyn get over text or a vec runs at's own runtime body. 2026-09-26 13:09:21 +07:00
764c2d10af String is owned, growable, always-valid UTF-8 text, and the prelude's text builders return it. 2026-09-26 13:05:56 +07:00
1243504ac6 .fln has let groups, grid[r c] indices and a not prefix, and a binding lines up under the let's first name. 2026-09-26 13:01:34 +07:00
e5fd44920e Merge branch 'master' into worktree-agent-a26dff0627201f77b 2026-09-26 12:55:06 +07:00
a3899f3ecb Master is merged into the when, get and if let lane for the review fixes. 2026-09-26 12:53:34 +07:00
f35a2b240a Merge master into the dyn char lane 2026-09-26 12:51:41 +07:00
28d4c0f8dc A number literal takes its type from its uses inside the function, an unconstrained float literal is an f64, and a dyn use asks for the dyn width. 2026-09-26 12:41:54 +07:00
d415d5da15 .fln comparison chains may mix operators pointing one way, such as 0 <= r < rows, and evaluate every operand once in order. 2026-09-26 12:35:30 +07:00
56b254d81c A typed char is queued behind the dyn char and literal inference lanes. 2026-09-26 12:33:00 +07:00
659f4d8c6c Merge branch 'master' into worktree-agent-a26dff0627201f77b 2026-09-26 12:29:59 +07:00
10a2a2b376 Master is merged into the when, get and if let lane a third time. 2026-09-26 12:28:10 +07:00
9c47d3bacc A dyn goes into every integer width range-checked, a char where its code point fits, and the trap names the width and what it found. 2026-09-26 12:27:40 +07:00
0b56818569 Dev bookkeeping per temp allocation grows without free-temp, recorded. 2026-09-26 12:23:17 +07:00
36655025c0 Master is merged into the when, get and if let lane again. 2026-09-26 12:23:17 +07:00
bfdd971baa A String compares equal to a String or a str by its bytes, and a prelude builder's String is checked at the caller's line. 2026-09-26 12:22:17 +07:00
b1cba196b9 A .fln comparison chain may mix < with <=, or > with >=, reading as the and of its tests with every operand evaluated once, left to right, as a < b < c is, and the printers write that and back as the chain. 2026-09-26 12:19:03 +07:00
d5437c3f22 A non-ASCII char literal is refused where a byte is wanted, a dyn int or char goes into an i32 range-checked, a cast on a dyn char gives its code point, and C1 controls print as \uXXXX. 2026-09-26 12:15:04 +07:00
62fd7b19bc Master is merged into the when, get and if let lane. 2026-09-26 12:13:55 +07:00
5ee433a38f A kept when answers an Option, get is a checked lookup over arrays, slices, Vecs and dyn, and if let reads as a two-arm match in both syntaxes. 2026-09-26 12:12:48 +07:00
349e2d7e72 Merge master 2026-09-26 12:09:56 +07:00
5cc661d6ab Merge branch 'master' into worktree-agent-a26dff0627201f77b 2026-09-26 12:07:11 +07:00
db67ab19b4 String is owned, growable, always-valid UTF-8 text over a (Vec u8), and the prelude's text builders return it. 2026-09-26 12:07:11 +07:00
66ea0b3abe Merge branch 'master' into worktree-agent-ab88d16e8e6fbfe15 2026-09-26 12:05:38 +07:00
4fb9d3b3fe A wide fold of let operands checks slowly, recorded. 2026-09-26 12:05:30 +07:00
8a698076eb Merge master into the dyn char lane 2026-09-26 12:04:12 +07:00
24b346d927 Merge branch 'master' into worktree-agent-ab88d16e8e6fbfe15 2026-09-26 11:52:13 +07:00
6d8ced2ba3 A dyn text becomes a str as its own bytes, a dyn view becomes its own storage, and a dyn vec or map becomes a checked copy in a [const T], a fixed array or a struct, while a writable [T] is never a copy. 2026-09-26 11:48:01 +07:00
e24395a737 Merge branch 'master' into worktree-agent-a65403bb057c203d7 2026-09-26 11:42:43 +07:00
68fddf90a1 if let is queued, with Rust's spelling. 2026-09-26 11:21:25 +07:00
dad9c02dc6 A used when gives an Option and get is a checked lookup, both queued. 2026-09-26 11:19:19 +07:00
1d09f2fd3d Merge master into the dyn char lane 2026-09-26 11:11:42 +07:00
71f2b0b9b6 Dyn has a char that prints as its literal, dyn text counts characters, and chars and text convert between a text and a vec of chars. 2026-09-26 11:11:42 +07:00
3d5caf25ae Merge master 2026-09-26 11:06:05 +07:00
c4452fc500 Merge master into the bit operators lane 2026-09-26 11:04:32 +07:00
a546bde112 Merge master 2026-09-26 10:56:30 +07:00
473bf0a2b7 The bit operators are && || ^^ ~~ in .fln at Python's precedence, take integers only on typed and dyn values, and popcount, leading-zeros, trailing-zeros and the rotations exist on both backends. 2026-09-26 10:49:54 +07:00
23663c4773 An unconstrained float literal is an f64, literal locals settle by merging the locals that feed each other, and a restart refused for a number type writes the conversion 2026-09-26 10:45:46 +07:00
b5380b4750 Merge master 2026-09-26 10:33:04 +07:00
fc463cf320 The .fln reader refuses loop and recur, flan convert refuses a .flan file that uses them, and every loop outside recur.flan is a while or until. 2026-09-26 10:31:53 +07:00
207f5d7bad Merge master 2026-09-26 09:59:00 +07:00
5f1b9b9e7e An unconstrained float literal is an f32, and an integer literal meeting a float literal meets it at the float 2026-09-26 09:49:51 +07:00
163c224d0d Merge master 2026-09-26 09:49:41 +07:00
697c016231 Merge master 2026-09-26 09:29:40 +07:00
d519ca81dd Merge master into the views lane 2026-09-26 09:29:15 +07:00
36156c9de9 A dyn value takes .field and [:key] as get and put, and a class instance refuses a slot it does not have 2026-09-26 09:28:25 +07:00
25e7db944f In a .fln buffer a let's binding lines belong to its statement, TAB offers the column under its first name, and C-c C-e sends the group 2026-09-26 06:32:09 +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
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