563 Commits

Author SHA1 Message Date
6c6b5a60cb ?? continues a line, a chain or an unwrap is no place to assign, nested marks and a ? on a value say what to write, a lowercase type takes ?, and a predicate reads as a word with its name beside it. 2026-09-26 15:36:49 +07:00
178c129c97 A .fln name carries no ? or !, and .fln has T?, x ?? d, x!, if let over a plain name and a?.b chaining. 2026-09-26 14:54:58 +07:00
7db1a81d1f Builtins, prelude, vendor and raylib predicates are named with is- or has- and no name carries a ? or !. 2026-09-26 14:34:36 +07:00
3134246511 Merge branch 'master' into worktree-agent-a5e429a5bd331edd4 2026-09-26 14:00:12 +07:00
38078cada3 A kept if-let chain takes its type from what its arm answered, so an arm that returns stays Never and one with no value makes the chain a statement. 2026-09-26 13:47:24 +07:00
5038c5954a get on a String is refused as at is, a dyn get's trap names get, a kept else-less form beside a number is blamed at itself in arithmetic and comparisons, and a kept if-let chain with no final else gives an Option. 2026-09-26 13:40:16 +07:00
b545584de8 Master is merged into the when, get and if let lane, and dyn get over text counts characters through at's own body. 2026-09-26 13:17:57 +07:00
aa6a007c7e Merge branch 'master' into worktree-agent-a5e429a5bd331edd4 2026-09-26 13:16:24 +07:00
2752d57655 A dev daemon started by a test dies with it, a daemon whose socket is gone ends cleanly, the Emacs daemon buffer asks before it is killed and closes the session, and a program's agent socket lives under TMPDIR and goes on a trap or fatal signal. 2026-09-26 13:13:39 +07:00
c24b19e7b1 Merge master into the dyn char lane 2026-09-26 13:09:28 +07:00
1b588df6b5 Master is merged into the when, get and if let lane after the review fixes. 2026-09-26 13:09:24 +07:00
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
d980251632 A text's ASCII check is its char count against its length, so pinning a text never changes how it counts, and a char writes through a dyn view where its code point fits. 2026-09-26 13:01:33 +07:00
4a7df449aa bytes->string copies the Vec's bytes into a new String, a String's character walk stops at its position and never reads past its length, and a builder's block is a String in the leak report. 2026-09-26 13:00:13 +07:00
e5fd44920e Merge branch 'master' into worktree-agent-a26dff0627201f77b 2026-09-26 12:55:06 +07:00
5d41a2d424 A dyn vec or map moved into typed storage takes a char where its code point fits, and a whole float in a trap's sentence reads as 2.0. 2026-09-26 12:54:08 +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
659f4d8c6c Merge branch 'master' into worktree-agent-a26dff0627201f77b 2026-09-26 12:29:59 +07:00
ef87bdb3b3 A prelude text builder checks its own String as a backstop, and a direct call checks the text it passes first, at the caller's line. 2026-09-26 12:29:59 +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
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
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
78e25dfa48 A str from dyn text is pinned once per temp stamp and is a poisoned temp copy in a dev build, a float past f32's range and a map key a struct lacks trap, and a struct's refusal names what the value is. 2026-09-26 12:09:25 +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
0ed3ce93e2 Every char prints as a spelling that reads back as it, with a name or Clojure's \uXXXX for each control character. 2026-09-26 11:54:03 +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
c7fb0e5422 Literal locals fed through do, let and if arms share one type without extra rounds, a chain past the rounds names the local to annotate, a restart's conversion fix shows the argument as written, and a name's lookup is answered from the last one under the same scope 2026-09-26 11:14:15 +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
c4452fc500 Merge master into the bit operators lane 2026-09-26 11:04:32 +07:00
75fe42d310 A dev build's views are checked in constant time per lookup, the dev registry grows instead of dropping notes, and a release crossing into dyn carries no dev record. 2026-09-26 10:57:35 +07:00
a546bde112 Merge master 2026-09-26 10:56:30 +07:00
4188c47b76 A dev build's self-equality scan starts by bumping a stamp rather than clearing its table, so one large scan leaves later ones as cheap as their own size. 2026-09-26 10:52:59 +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
9644b8a616 A dev build's self-equality scan walks each container once, a free finds its block by the keyed probe, a registry listing waits out a growth, and a view's crossing and scalar read take fewer instructions. 2026-09-26 10:41:12 +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
0a05d83b3b A release build's dyn view carries no dev record, the dev registry grows instead of dropping notes, a container compared with itself still traps on a stale view inside it, has-key? traps at its site, and a trap clears the walk site it leaves. 2026-09-26 10:13:01 +07:00
207f5d7bad Merge master 2026-09-26 09:59:00 +07:00
497c9f470f A dyn view's record is collected with it, a dev build ties a view of a stack address to its owning frame and finds a heap block through an address index, and a view's traps name the field, the operation and the site. 2026-09-26 09:54:45 +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
7991e00e76 A struct's dyn view takes .field and [:k], read and assigned, and a get on it traps at its own site. 2026-09-26 09:32:49 +07:00
697c016231 Merge master 2026-09-26 09:29:40 +07:00