|
|
6c2f7c34c7
|
An eval or load reply carries the compiler's warnings, which Emacs marks at their sites and counts in the echo line, and a load says each warning once.
|
2026-09-26 19:20:40 +07:00 |
|
|
|
bbaca242e5
|
A dev eval prints the compiler's warnings for the forms it sent and not again for forms sent earlier.
|
2026-09-26 18:59:34 +07:00 |
|
|
|
08ecba92f6
|
The checker warns at a call through which a function calls itself on every path, so it never returns.
|
2026-09-26 18:55:49 +07:00 |
|
|
|
5274f83f88
|
One fn form holds all of a name's arities, and evaluating it replaces them all.
|
2026-09-26 18:30:11 +07:00 |
|
|
|
ae41ec8454
|
An install reply's :fns and flan reload's summary name each fn once, as it is written.
|
2026-09-26 18:29:54 +07:00 |
|
|
|
1215db7d26
|
Merge master into the arity lane.
|
2026-09-26 18:29:54 +07:00 |
|
|
|
2010655d60
|
The vendor libraries, examples and sand are written in .fln.
|
2026-09-26 18:24:54 +07:00 |
|
|
|
8d198f88c9
|
A condition can bind what it tests with as, inside and chains too, and the bound name is read-only in the program and in the debugger.
|
2026-09-26 18:21:00 +07:00 |
|
|
|
d6c33928f5
|
A name an as bound is refused as itself when assigned, in the program and in a stopped frame alike.
|
2026-09-26 18:16:13 +07:00 |
|
|
|
c1018d87c5
|
Every reference to the removed .flan files is updated, generated.fln's stale banner line is regenerated, and the ported .fln files read like handwritten Flan.
|
2026-09-26 18:13:56 +07:00 |
|
|
|
7d2da19c0c
|
A fn form's arities are one definition by an id the form is given, and a caller of a removed arity stops on StaleCall and is compiled again whenever its call checks.
|
2026-09-26 18:08:41 +07:00 |
|
|
|
fd6510e0b5
|
Merge branch 'master' into worktree-agent-afbb9bcfd4d47bb1b
# Conflicts:
# lib/check.ml
|
2026-09-26 18:06:56 +07:00 |
|
|
|
8333ba017d
|
A literal local read as a typed array's element takes that element's type, and the Option str refusal test names str.
|
2026-09-26 18:06:29 +07:00 |
|
|
|
b814aca187
|
A kept when or else-less chain over an Option arm is that Option, flattened one level, unless an Option of it is wanted.
|
2026-09-26 18:02:43 +07:00 |
|
|
|
83bb65957d
|
Each name an as binds is a slot of its own under its name, so the break loop's locals show it with what the test found.
|
2026-09-26 17:59:59 +07:00 |
|
|
|
09ffc27883
|
Master merges into the as-chain lane.
|
2026-09-26 17:52:20 +07:00 |
|
|
|
e4d0e9c60e
|
A pause mark on any column of a condition keeps what it binds, an as in parentheses gets its own refusal, and what an as finds is held in one slot.
|
2026-09-26 17:52:06 +07:00 |
|
|
|
b8e68a48f7
|
A literal local read at T? takes T, None may come first in an if, an Option around an array of Options takes a literal, and a literal refused at T? names the Option.
|
2026-09-26 17:45:44 +07:00 |
|
|
|
d14cffa23a
|
(the dyn <literal>) beside nil traps at run time, and a dyn opened at f64 or bool traps at its site.
|
2026-09-26 17:44:27 +07:00 |
|
|
|
c4547adb25
|
Master merges into the as-chain lane.
|
2026-09-26 17:42:08 +07:00 |
|
|
|
488a6a3295
|
Merge master into the arity lane.
|
2026-09-26 17:35:18 +07:00 |
|
|
|
dd719766ee
|
A fn's arities are one form, fn f with a (params) -> R line per arity, and evaluating it replaces every arity at once.
|
2026-09-26 17:35:18 +07:00 |
|
|
|
c60cc33b95
|
A dyn operand in a fold's first pair keeps the form dyn at a typed want, so only the answer is opened and every position gives the same result.
|
2026-09-26 17:30:44 +07:00 |
|
|
|
e85ca2c431
|
Master is merged into the dyn crossing lane again.
|
2026-09-26 17:30:44 +07:00 |
|
|
|
3afb7e13af
|
Master merges into the as-chain lane, and as names what a pipe answers.
|
2026-09-26 17:22:07 +07:00 |
|
|
|
8f46a43e7a
|
Merge branch 'master' into worktree-agent-afbb9bcfd4d47bb1b
|
2026-09-26 17:21:11 +07:00 |
|
|
|
89d54a47f4
|
A None arm written first in a match meets the other arms at their Option.
|
2026-09-26 17:21:06 +07:00 |
|
|
|
70be2a57e6
|
Master is merged into the dyn crossing lane again.
|
2026-09-26 17:18:36 +07:00 |
|
|
|
f25f69c0be
|
The comment on the prelude's macro forms says the prelude is read once.
|
2026-09-26 17:18:34 +07:00 |
|
|
|
4d85cefbe2
|
A bare nil in a typed fold is refused in every position while a dyn holding nil traps, a fold operand asked on its own terms records no literal-local use, and a wide literal at dyn says it has no dyn value.
|
2026-09-26 17:18:29 +07:00 |
|
|
|
3f59c18257
|
Merge master into the arity versions lane.
|
2026-09-26 17:18:24 +07:00 |
|
|
|
2af5dee0d0
|
The prelude is written in .fln and read once per process.
|
2026-09-26 17:18:15 +07:00 |
|
|
|
87709618f9
|
An as chain's refusals quote the whole condition, and narrowing after an as is tested.
|
2026-09-26 17:15:24 +07:00 |
|
|
|
0c7a53f526
|
A pipe into a language word is refused, and a pipe the next operator or an as swallows is refused with the bracketed form as the fix.
|
2026-09-26 17:11:15 +07:00 |
|
|
|
cb60df1dc0
|
A T is wrapped in Some wherever a T? is wanted, one level at a time and never unwrapped back.
|
2026-09-26 17:11:12 +07:00 |
|
|
|
179156b105
|
A function name has one version per arity, and a call picks the version by its number of arguments.
|
2026-09-26 17:08:15 +07:00 |
|
|
|
e219e90446
|
Merge branch 'master' into worktree-agent-abfc2bd050afe177a
|
2026-09-26 17:07:07 +07:00 |
|
|
|
5d5018011e
|
Vendor packages, examples/*, and sand.flan are ported from .flan to .fln, and flan generate-c writes generated.fln.
|
2026-09-26 17:07:04 +07:00 |
|
|
|
c1916ed819
|
e as g is any test of a condition's and chain, binding g for the rest of the chain and the block.
|
2026-09-26 17:07:01 +07:00 |
|
|
|
5a3d480edf
|
In .fln, x |> f(a) reads as f(x, a), below or, with the Emacs mode indenting and marking pipe lines.
|
2026-09-26 16:58:53 +07:00 |
|
|
|
7dcef05df3
|
A u64 past the largest i64 traps where it crosses into dyn, a dyn nil past a fold's first pair traps at run time, and an is-numeric $t boxes beside a dyn.
|
2026-09-26 16:47:28 +07:00 |
|
|
|
d8a70fea04
|
Merge master into the prelude .fln lane.
|
2026-09-26 16:37:09 +07:00 |
|
|
|
66fce31dbd
|
The prelude is lib/prelude.fln, embedded at build time and read by the indented reader.
|
2026-09-26 16:37:02 +07:00 |
|
|
|
181f7da037
|
Merge master into the dyn fold lane.
# Conflicts:
# lib/check.ml
|
2026-09-26 16:16:25 +07:00 |
|
|
|
97e89c8d40
|
min and max take a dyn in any position, picking numbers by value and chars by code point in the dyn runtime and trapping at the form on anything else.
|
2026-09-26 16:15:52 +07:00 |
|
|
|
adfab2d482
|
A narrowed name keeps its assignability, a local whose address is taken or that a fn assigns is not narrowed, a trailing ? tests a whole chain, and the optional refusals name the test to write.
|
2026-09-26 16:08:16 +07:00 |
|
|
|
d138155eae
|
A dyn operand anywhere in an arithmetic, bitwise or comparison fold makes the fold dyn from there on, and min or max refuses one past its first pair as it does in it.
|
2026-09-26 16:08:08 +07:00 |
|
|
|
8afa054349
|
Merge master into the .fln optionals lane.
|
2026-09-26 15:52:00 +07:00 |
|
|
|
d252eee2b2
|
In .fln x? tests that a value is present and narrows a local Option to its payload in the block it guards, and e? as g names what a test found.
|
2026-09-26 15:48:36 +07:00 |
|
|
|
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 |
|