|
|
18581a452c
|
= and != compare bools, a match over a bool takes true and false arms, a match over a dyn takes keyword arms, and where predicates joined with and are refused with the comma or vector form as the fix
|
2026-09-25 21:35:31 +07:00 |
|
|
|
ed7258c80f
|
An abandoned check puts back everything it wrote into the environment, an else arm refused on its own terms is not blamed for the then arm's type, and a match's arms meet at the same join as an if's
|
2026-09-25 21:26:56 +07:00 |
|
|
|
0fc258c434
|
Merge branch 'master' into worktree-agent-a46233a32d1912c78
|
2026-09-25 21:11:17 +07:00 |
|
|
|
3001aadff3
|
.fln files open in flan-fln-mode, which evaluates, moves over, indents and edits their statements, clauses and top-level forms
|
2026-09-25 21:07:16 +07:00 |
|
|
|
f76d0d6e9f
|
An if's arms and a _ function's exits meet at one join in any order, a return inside the last form counts where it is written, and a constant computed by a _ function is refused as with a written type
|
2026-09-25 21:02:26 +07:00 |
|
|
|
4d3688a519
|
Merge master into the .fln mode lane; a .fln arm sends its match whenever its value uses any name the pattern has, C-c C-s steps a .fln top-level form, and a comment block directly above a form is part of its text objects
|
2026-09-25 20:53:48 +07:00 |
|
|
|
111ee66a4b
|
A match arm can be a number, char or string literal compared with =, over a number, a string or a dyn, with a _ arm required
|
2026-09-25 20:51:24 +07:00 |
|
|
|
df7078d586
|
A _ function's exits combine exactly as an if's arms do, a refused _ body or loop is collected with every other error, and the placeholder type never leaves the checker
|
2026-09-25 20:37:50 +07:00 |
|
|
|
8fdf8513fd
|
A _ body's errors are reported with every other error in the file, a literal return takes the type of the other exits, and a recursive _ function that gives nothing returns ()
|
2026-09-25 20:17:44 +07:00 |
|
|
|
ad40123b25
|
Master's error recovery and return types read off the body live together, and two ways out of an inferred body that cannot share a type are refused with both named
|
2026-09-25 19:58:31 +07:00 |
|
|
|
8c814b39c1
|
.fln files open in flan-fln-mode, which evaluates, moves over, indents and edits statements, clauses and top-level forms, and every Flan mode derives from flan-base-mode
|
2026-09-25 17:13:12 +07:00 |
|
|
|
ff88b9dad6
|
A defn whose return slot is _ (or a .fln fn with no arrow) takes its return type from its own body, recursion through such functions is refused by name, and a stale caller of one is told which line changed its type
|
2026-09-25 17:09:13 +07:00 |
|
|
|
4c336687ef
|
Master's error recovery is merged, and the refusal memos are consulted only where a refusal is raised
|
2026-09-25 17:03:32 +07:00 |
|
|
|
4b64dc5f65
|
Code-carrying dev requests name their syntax and starting line and column, so a .fln snippet sent from the middle of a buffer reads with the buffer's own locations
|
2026-09-25 15:57:09 +07:00 |
|
|
|
25e303caf4
|
Master's indented reader is merged, and its x += v over a place with a call in it reads as update, evaluating the place once
|
2026-09-25 15:56:51 +07:00 |
|
|
|
074b2da6f3
|
The indented reader refuses a continuation line that is not deeper than its statement, takes one-line statements in arms, then/else and defer, typed lets and bare-name blocks, and names the shape it wanted where it used to say two values cannot sit side by side
|
2026-09-25 15:30:52 +07:00 |
|
|
|
8cc63ed9f6
|
A place in update, ++ and -- evaluates each of its subexpressions once, and (update place f args ...) stores (f old args ...) back into it
|
2026-09-25 15:26:27 +07:00 |
|
|
|
d7016f91c7
|
A .fln file is read by an indented reader that yields the paren reader's forms, every program entry point picks the reader by extension, and flan convert prints either syntax as the other
|
2026-09-25 15:04:32 +07:00 |
|
|
|
22d2a4cfb2
|
An indented surface beside s-expressions is specified as a second reader chosen by file extension
|
2026-09-25 14:21:51 +07:00 |
|