|
|
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 |
|
|
|
c3f1adb0c3
|
TODO.org queues decision 141: a dyn vector is a value, copied on first write.
|
2026-09-26 18:25:08 +07:00 |
|
|
|
2010655d60
|
The vendor libraries, examples and sand are written in .fln.
|
2026-09-26 18:24:54 +07:00 |
|
|
|
5a8e7fa87b
|
TODO.org records that eval-in-frame can assign loop indices and pattern bindings.
|
2026-09-26 18:21:09 +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 |
|
|
|
cfdc6e29fd
|
A T value flows into a T? where one is wanted, and a kept else-less form whose arm is already T? gives T?, not T??.
|
2026-09-26 18:16:34 +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 |
|
|
|
44812855c7
|
A u64 past the largest dyn int traps at the crossing, a dyn anywhere in an operation makes it dyn, and dyn unbox traps name their site.
|
2026-09-26 17:51:31 +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 |
|
|
|
09f1e4369f
|
An Option plus a literal is refused at the operator, the literal having been wrapped.
|
2026-09-26 17:16:16 +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 |
|
|
|
21c2e78808
|
.fln has a pipe, x |> f(a), that passes x as the first argument.
|
2026-09-26 17:15:09 +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 |
|
|
|
29494c7978
|
Merge master into the arity versions lane.
|
2026-09-26 17:08:19 +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 |
|
|
|
0598949fcb
|
Master merges into the as-chain lane.
|
2026-09-26 17:07:04 +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 |
|
|
|
f484f16190
|
Master is merged into the dyn crossing lane.
|
2026-09-26 16:48:32 +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 |
|
|
|
1763157ef2
|
Forms .fln cannot yet write are recorded.
|
2026-09-26 16:40:59 +07:00 |
|